Cevap :
Merhaba, kodda hata bulduğunuz yerde yorumlarda bildirin, yardımcı olurum. Kolay gelsin!
KOD:
import java.util.Scanner;
class checkMatris {
//Ekrana matris yazdiran fonksiyon
public static String matris_yazdir(int[][] a){
int q = a.length;
int b = a[0].length;
String temp = "";
for(int y=0; y<q; y++){
for(int x=0; x<b; x++){
temp = temp + a[y][x] + " ";
}
temp = temp + "\n";
}
return temp;
}
public static void main(String[] args) {
int x,y; //Matris elemanlari
boolean checker=true;
//Kullanicidan matris boyutlarini al.
Scanner outp = new Scanner(System.in);
System.out.println("Matrisin satir sayisi: ");
x=outp.nextInt();
System.out.println("Matrisin sutun sayisi: ");
y=outp.nextInt();
//Kare matris ve birim matris kontrolu
if(x==y) {
//Matrisi olusturma
int[][] matris = new int[x][y];
int[][] transpoze_matris = new int[x][y];
//Matrise veri girisi yapilacak.
for(int i=0;i<x;i++) {
for(int j=0;j<y;j++) {
matris[i][j]=outp.nextInt();
}
}
for(int i=0;i<x;i++) {
for(int j=0;j<y;j++) {
if(i==j && matris[i][j]!=1){
checker=false;
break;
}
if(i!=j && matris[i][j]!=0){
checker=false;
break;
}
}
if(checker) {
//Transpoze alma islemi
for(int v=0;v<x;v++) {
for(int j=0;j<y;j++) {
transpoze_matris[v][j]=matris[j][v];
}
}
//Transpoze alinmis matrisi ekrana yazdirma
//Once ana matrisi yazdirma
System.out.println("Mevcut matris:\n");
matris_yazdir(matris);
System.out.println("\n\nTranspoze alinmis hali:\n");
matris_yazdir(transpoze_matris);
}else {
System.out.println("Birim matris degildir!");
}
}
}else {
//Birim matris sadece kare matris saglanirsa olacagindan, bu asamada program sonlanmalidir.
System.out.println("Bu matris kare bir matris degildir.");
}
}
}