👤

ÇOK ACİL
JAVADA GİRİLEN MATRİSİN BİRİM MATRİS OLUP OLMADIĞINI BULAN VE GİRİLEN MATRİSİN TRANSPOZESİNİ ALAN PROGRAM NASIL YAZILIR?


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.");

       }

       

       

   }

}