// Bu program dizinin satır ve sutunlarını değiştiri. Ayrıca güzel bi sınav sorusudur.
package dizidesatırsutundegistirmek;
public class Main {
public static void main(String[] args) {
/*Soruda bizden istenen satırları sütun sütunları satır yapmamızdı.Bende şöyle bir fikir yürüttüm.
Aynı boyutlarda başka bir dizi oluşturdum. Orjinal dizi içerisinde dönerken; ikinci dizinin sütununa
orjinal dizinin satır indisini, satırına da orjinal dizinin sütun indisini verdim.
Bu yöntemde ek bir dizi kullanarak çözdük soruyu.
*/
int[][] dizi = {{1, 2, 3, 4, 5}, {6, 7, 8, 9, 10}, {11, 12, 15, 14, 15}, {16, 17, 18, 10, 20},
{21, 22, 23, 24, 25}};
int[][] yenidizi = new int[5][5];
System.out.println(“———-orjinal dizi————”);
for (int i = 0; i < dizi.length; i++) {
for (int j = 0; j < dizi[i].length; j++) {
System.out.print(dizi[i][j] + “\t”);
}
System.out.println();
}
for (int i = 0; i < dizi.length; i++) {
for (int j = 0; j < dizi[i].length; j++) {
yenidizi[j][i] = dizi[i][j];
}
}
System.out.println(“&&&&&&&&&&&&&&& Birinci Yöntem &&&&&&&&&&&&&&&&&&”);
for (int i = 0; i < yenidizi.length; i++) {
for (int j = 0; j < yenidizi[i].length; j++) {
System.out.print(yenidizi[i][j] + “\t”);
}
System.out.println();
}
//2. yöntemde ek bir dizi kullanmadan çözdük.
for (int c = 0; c < dizi.length; c++) {
for (int d = c; d < dizi.length; d++) {
int k = dizi[d][c];
dizi[d][c] = dizi[c][d];
dizi[c][d] = k;
}
}
System.out.println(“\n”);
System.out.println(“*************** İkinci Yöntem ******************”);
for (int i = 0; i < dizi.length; i++) {
for (int j = 0; j < dizi[i].length; j++) {
System.out.print(dizi[i][j] + “\t”);
}
System.out.println();
}
System.out.println(“*************** Üçüncü Yöntem ******************”);
//Eğer istersek aynı soruyu do-while ile de çözebiliriz.
int a = 0;
int b = 0;
do {
for (int sutun = b; sutun < dizi[a].length; sutun++) {
int temp = dizi[sutun][a];
dizi[sutun][a] = dizi[a][sutun];
dizi[a][sutun] = temp;
}
a++;
b++;
} while (a < 5);
}
}
// http://tarikdemir.com
// http://facebook.com/m.tarikdemir
// http://twitter.com/Tar1k_Demir
// ben@tarikdemir.com
// tar1k_demir@hotmail.com