Skip to content

Commit 8c979aa

Browse files
committed
Matris soruları derlendi 🚀
1 parent aaa047d commit 8c979aa

File tree

8 files changed

+587
-0
lines changed

8 files changed

+587
-0
lines changed

L-MatrisToplama/MatrisToplama.java

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
import java.util.*;
2+
public class MatrisToplama {
3+
public static void main(String arg[]) {
4+
Scanner input = new Scanner(System.in);
5+
6+
// Değişkenlerin tanımlanması
7+
int m, n, i, j;
8+
System.out.print("Matrislerin satir sayisini giriniz (m)=");
9+
10+
// Boyutların girilmesi
11+
m = input.nextInt();
12+
System.out.print("Matrislerin sutun sayisini giriniz (n)=");
13+
n = input.nextInt();
14+
15+
// Matrislerin oluşturulması
16+
int A[][] = new int[m][n];
17+
int B[][] = new int[m][n];
18+
int C[][] = new int[m][n];
19+
20+
// “A” matrisinin girilmesi.
21+
System.out.println("A matrisini giriniz:");
22+
for (i = 0; i < m; i++)
23+
for (j = 0; j < n; j++) {
24+
System.out.printf("A[%d][%d]=", i + 1, j + 1);
25+
A[i][j] = input.nextInt();
26+
}
27+
28+
// “B” matrisinin girilmesi.
29+
System.out.println("B matrisini giriniz:");
30+
for (i = 0; i < m; i++)
31+
for (j = 0; j < n; j++) {
32+
System.out.printf("B[%d][%d]=", i + 1, j + 1);
33+
B[i][j] = input.nextInt();
34+
}
35+
36+
// İç içe döngü kullanarak karşılıklı elemanların toplanması.
37+
for (i = 0; i < m; i++)
38+
for (j = 0; j < n; j++) {
39+
C[i][j] = A[i][j] + B[i][j];
40+
}
41+
System.out.printf("A+B=\n");
42+
// “C” matrisinin yazdırılması.
43+
for (i = 0; i < m; i++) {
44+
for (j = 0; j < n; j++)
45+
System.out.printf("%d ", C[i][j]);
46+
System.out.printf("\n");
47+
}
48+
input.close();
49+
}
50+
}

L-MatrisToplama/README.md

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
# İki Matrisin Toplamı
2+
3+
## ❓ Soru
4+
Boyutları ve elemanları klavyeden girilen iki matrisin toplamını hesaplayan programı yazınız.
5+
6+
## ⛓ Program Kısımları
7+
1. İki matrisin boyutları ve elemanlarını girmek.
8+
2. Toplama işlemini gerçekleştirmek.
9+
3. Sonuç matrisini yazdırmak.
10+
11+
## 👓 Çözüm Yöntemi
12+
- 2 matrisi toplamak için matrislerin karşılıklı elemanları toplanır.
13+
14+
## 👩‍🔧 Çözüm Adımları
15+
1. Değişkenlerin tanımlanması.
16+
2. Boyutların girilmesi.
17+
3. Matrislerin oluşturulması.
18+
4. `A` matrisinin girilmesi.
19+
5. `B` matrisinin girilmesi.
20+
6. İç içe döngü kullanarak karşılıklı elemanların toplanması.
21+
7. `C` matrisinin yazdırılması.
22+
23+
## 🤖 Kod
24+
<details>
25+
<summary>Tıkla</summary>
26+
27+
```java
28+
import java.util.*;
29+
public class MatrisToplama {
30+
public static void main(String arg[]) {
31+
Scanner input = new Scanner(System.in);
32+
int m, n, i, j; //1. adim
33+
System.out.print("Matrislerin satir sayisini giriniz (m)=");
34+
m = input.nextInt(); //2. adim
35+
System.out.print("Matrislerin sutun sayisini giriniz (n)=");
36+
n = input.nextInt(); //2. adim
37+
int A[][] = new int[m][n]; //3. adim
38+
int B[][] = new int[m][n];
39+
int C[][] = new int[m][n];
40+
System.out.println("A matrisini giriniz:");
41+
for (i = 0; i < m; i++)
42+
for (j = 0; j < n; j++) {
43+
System.out.printf("A[%d][%d]=", i + 1, j + 1);
44+
A[i][j] = input.nextInt();
45+
} //4. adim
46+
System.out.println("B matrisini giriniz:");
47+
for (i = 0; i < m; i++)
48+
for (j = 0; j < n; j++) {
49+
System.out.printf("B[%d][%d]=", i + 1, j + 1);
50+
B[i][j] = input.nextInt();
51+
} //5. adim
52+
for (i = 0; i < m; i++) //6. adim
53+
for (j = 0; j < n; j++) {
54+
C[i][j] = A[i][j] + B[i][j];
55+
}
56+
System.out.printf("A+B=\n");
57+
for (i = 0; i < m; i++) {
58+
for (j = 0; j < n; j++)
59+
System.out.printf("%d ", C[i][j]); //7. adim
60+
System.out.printf("\n");
61+
}
62+
input.close();
63+
}
64+
}
65+
```
66+
</details>
67+
68+
69+
## 🎉 Ekran Çıktısı
70+
71+
```
72+
Matrislerin satir sayisini giriniz (m)=2
73+
Matrislerin sutun sayisini giriniz (n)=2
74+
75+
A matrisini giriniz:
76+
A[1][1]=1
77+
A[1][2]=2
78+
A[2][1]=3
79+
A[2][2]=4
80+
81+
B matrisini giriniz:
82+
B[1][1]=5
83+
B[1][2]=6
84+
B[2][1]=7
85+
B[2][2]=8
86+
87+
A+B=
88+
6 8
89+
10 12
90+
```
91+
92+
## 💡 Notlar
93+
- İki boyutlu matrislerin üzerinde yapılan işlemler iç içe döngü kullanarak yapılır.

M-MatrisÇarpma/MatrisCarpma.java

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
import java.util.*;
2+
public class MatrisCarpma {
3+
public static void main(String arg[]) {
4+
Scanner input = new Scanner(System.in);
5+
6+
// Değişkenlerin tanımlanması.
7+
int m, n, f, p, i, j, k;
8+
System.out.println("A(m,n) Boyutlarini giriniz:");
9+
10+
// İki matrisin boyutlarının girilmesi
11+
m = input.nextInt();
12+
n = input.nextInt();
13+
System.out.println("B(f,p) Boyutlarini giriniz:");
14+
f = input.nextInt();
15+
p = input.nextInt();
16+
int A[][] = new int[m][n];
17+
int B[][] = new int[f][p];
18+
int C[][] = new int[m][p];
19+
20+
// Çarpım koşulunun kontrol edilmesi
21+
if (n != f)
22+
System.out.println("Matrisler carpilamaz");
23+
else {
24+
// A matrisinin elemenlarının girilmesi
25+
for (i = 0; i < m; i++)
26+
for (j = 0; j < n; j++) {
27+
System.out.printf("A[%d][%d]=", i + 1, j + 1);
28+
A[i][j] = input.nextInt();
29+
}
30+
System.out.printf("\n");
31+
32+
// B matrisinin elemenlarının girilmesi
33+
for (i = 0; i < f; i++)
34+
for (j = 0; j < p; j++) {
35+
System.out.printf("B[%d][%d]=", i + 1, j + 1);
36+
B[i][j] = input.nextInt();
37+
}
38+
39+
// Çarpımın hesaplanması
40+
for (i = 0; i < m; i++)
41+
for (j = 0; j < p; j++)
42+
for (k = 0; k < n; k++)
43+
C[i][j] += A[i][k] * B[k][j];
44+
System.out.printf("\nA*B=\n");
45+
46+
// C matrisinin yazdırılması
47+
for (i = 0; i < m; i++) {
48+
for (j = 0; j < p; j++)
49+
System.out.printf("%d\t", C[i][j]);
50+
System.out.printf("\n");
51+
}
52+
}
53+
input.close();
54+
}
55+
}

M-MatrisÇarpma/README.md

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
# İki Matrisin Çarpımı
2+
3+
## ❓ Soru
4+
Boyutları ve elemanları klavyeden girilen iki matrisin çarpımını hesaplayan programı yazınız.
5+
6+
## ⛓ Program Kısımları
7+
1. İki matrisin boyutları ve elemanlarını girmek.
8+
2. Çarpma işlemini gerçekleştirmek.
9+
3. Sonuç matrisini yazdırmak.
10+
11+
## 👓 Çözüm Yöntemi
12+
- Çarpma işleminin gerçekleşebilmesi için birinci matrisin sütun sayısı ile ikinci matrisin satır sayısı (n) eşit olmalıdır.
13+
- Sonuç matrisinin her bir elemanı aşağıdaki eşitliği kullanarak elde edilir:
14+
15+
<img src="../res/MatrisCarpimiFormulu.png" height="65" />
16+
17+
18+
## 👩‍🔧 Çözüm Adımları
19+
1. Değişkenlerin tanımlanması.
20+
2. İki matrisin boyutlarının girilmesi.
21+
3. `A`, `B`, `C` matrislerinin oluşturulması.
22+
4. Çarpım koşulunun kontrol edilmesi.
23+
5. Koşulun sağlandığı halde:
24+
- `A` elemanları girilir.
25+
- `B` elemanları girilir.
26+
- 3 tane iç içe döngü kullanarak `C` elemanları hesaplanır.
27+
- `C` matrisi yazdırılır.
28+
29+
## 🤖 Kod
30+
<details>
31+
<summary>Tıkla</summary>
32+
33+
```java
34+
import java.util.*;
35+
public class MatrisCarpma {
36+
public static void main(String arg[]) {
37+
Scanner input = new Scanner(System.in);
38+
int m, n, f, p, i, j, k; //1. adim
39+
System.out.println("A(m,n) Boyutlarini giriniz:");
40+
m = input.nextInt(); //2. adim
41+
n = input.nextInt(); //2. adim
42+
System.out.println("B(f,p) Boyutlarini giriniz:");
43+
f = input.nextInt(); //2. adim
44+
p = input.nextInt(); //2. adim
45+
int A[][] = new int[m][n];
46+
int B[][] = new int[f][p];
47+
int C[][] = new int[m][p];
48+
if (n != f) //4. adim
49+
System.out.println("Matrisler carpilamaz");
50+
else { //5. adim
51+
for (i = 0; i < m; i++)
52+
for (j = 0; j < n; j++) {
53+
System.out.printf("A[%d][%d]=", i + 1, j + 1);
54+
A[i][j] = input.nextInt();
55+
} //5. adim (a)
56+
System.out.printf("\n");
57+
for (i = 0; i < f; i++)
58+
for (j = 0; j < p; j++) {
59+
System.out.printf("B[%d][%d]=", i + 1, j + 1);
60+
B[i][j] = input.nextInt();
61+
} //5. adim (b)
62+
for (i = 0; i < m; i++) //5. adim (c)
63+
for (j = 0; j < p; j++)
64+
for (k = 0; k < n; k++)
65+
C[i][j] += A[i][k] * B[k][j];
66+
System.out.printf("\nA*B=\n");
67+
for (i = 0; i < m; i++) {
68+
for (j = 0; j < p; j++)
69+
System.out.printf("%d\t", C[i][j]); //5. adim (d)
70+
System.out.printf("\n");
71+
}
72+
}
73+
input.close();
74+
}
75+
}
76+
```
77+
</details>
78+
79+
80+
## 🎉 Ekran Çıktısı
81+
82+
```
83+
A(m,n) Boyutlarini giriniz:
84+
2
85+
2
86+
B(f,p) Boyutlarini giriniz:
87+
2
88+
3
89+
A[1][1]=1
90+
A[1][2]=2
91+
A[2][1]=3
92+
A[2][2]=4
93+
B[1][1]=1
94+
B[1][2]=2
95+
B[1][3]=3
96+
B[2][1]=4
97+
B[2][2]=5
98+
B[2][3]=6
99+
A*B=
100+
9 12 15
101+
19 26 33
102+
```
103+
104+
## 💡 Notlar
105+
1. `C`nin satır sayısı `A`nın satır sayısına eşittir ve sütun sayısı `B`nin sütun sayısına eşittir.
106+
Örneğin: A<sub>mn</sub> * B<sub>fp</sub> = C<sub>mp</sub>

0 commit comments

Comments
 (0)