Kita akan membuat program dengan java agar mengisi kotak - kotak tersebut secara otomatis.
Program ini menggunakan Array 2D.
package magicsquare;
import java.util.Scanner;
/**
*
* @author wiratmoko11
*/
public class MagicSquare {
public static void main(String[] args) {
// TODO code application logic here
Scanner input = new Scanner(System.in);
System.out.print("Masukkan panjang dan lebar : ");
int n = input.nextInt();
if(n % 2 == 0){
System.out.println("harus ganjil !!!");
System.exit(0);
}
int square[][] = new int[n+2][n+2];
int i = 1, j = (n / 2) + 1 ;
for (int m = 1; m <= Math.pow(n, 2); m++) {
square[i][j] = m;
if(i - 1 < 1){
i = n;
}else{
i = i - 1;
}
if(j + 1 > n){
j = 1;
}else{
j = j + 1;
}
if(square[i][j] != 0){
i = i + 1;
j = j - 1;
if(i > n){
i = 1;
}
if(j < 1){
j = n;
}
i++;
}
}
for (int k = 1; k <= n; k++) {
for (int l = 1; l <= n; l++) {
System.out.print("" + square[k][l] + "\t");
}
System.out.println("");
}
}
}
Gambaran programnya adalah sebagai berikut
Nah mudahkan :D, oke sekian saja, semoga bermanfaat.
Tapi ingat, program tersebut hanya bisa untuk matriks ganjil.
0 komentar:
Posting Komentar