Selamun Aleyküm, bana da faydası olur diye uğraştım. Java dilinde yazmaya çalıştım. C ile benzer bir Syntax’ı var. Elbetteki C daha zordur. Belki işine yarar biraz incele istersen. İyi çalışmalar…
import java.util.Scanner; // C'deki #include <ktphn.h> deyimi ile benzer işleve sahip
public class MatrisUsAlma {
static int[][] matris;
public static int[][] usAl(int[][] mtrs, int x){
/* main methodu içerisinden çağırdım, main aşağıda
üs alma işlemini yapan yer burası */
int toplam=0, carpim=1, n=matris.length;
int[][] snc = new int[n][n];
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
for(int k=0, m=j; k<n; k++){
carpim = matris[i][k] * mtrs[k][m];
toplam += carpim;
if (k==n) m++;
}
snc[i][j] = toplam;
toplam = 0;
}
}
if(x>2) snc = usAl(snc, x-1); // tekrar kendisini çağırıyoruz
return snc;
}
public static void main(String[] args) { // C'deki main methodu burada da var.
Scanner scn = new Scanner(System.in);
// C'deki scanf fonksiyonunun görevini yapacak
System.out.print("Matris boyutu: "); int n = scn.nextInt();
System.out.print("Kuvvet değeri: "); int x = scn.nextInt();
matris = new int[n][n];
int[][] sonuc;
// matrisin içini dolduruyoruz
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
System.out.print("("+i+", "+j+"): "); // (satir, sutun):
matris[i][j] = scn.nextInt();
}
System.out.println("------------------");
}
System.out.println("SONUÇ");
System.out.println("---------");
// yukarıda asıl işlemi yapan methodu çağırıyoruz
sonuc = usAl(matris, x);
// sonucu ekrana yazdır
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
System.out.print(sonuc[i][j] + "\t");
}
System.out.println("");
}
}
}