Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package cse202;
- public class MagicSquare {
- void oddMagicSquare(int dim) {
- if (dim == 0) {
- System.out.println("Zero Dimenssion Magic Square Is Not Possible.");
- } else if (dim % 2 == 1) {
- int[][] a = new int[dim+1][dim+1];
- a[0][dim] = -3;
- for (int r = 0; r <= dim; r++) {
- for (int c = 0; c <= dim; c++) {
- if (r == 0 && c != dim) {
- a[r][c] = -1;
- } else if (c == dim && r != 0) {
- a[r][c] = -2;
- }
- }
- }
- int value = 1;
- int maxRow = dim;
- int r = 1;
- int c = (int)(dim/2);
- while (value != (dim * dim) + 1) {
- if (a[r][c] == -1) {
- r = maxRow;
- a[r][c] = value;
- } else if (a[r][c] == -3) {
- r = r + 2;
- c = c - 1;
- a[r][c] = value;
- } else if (a[r][c] == -2) {
- c = 0;
- a[r][c] = value;
- } else if (a[r][c] != 0 && a[r][c] != -1 && a[r][c] != -2 && a[r][c] != -3) {
- r = r + 2;
- c = c - 1;
- a[r][c] = value;
- } else if (a[r][c] == 0) {
- a[r][c] = value;
- }
- r = r - 1;
- c = c + 1;
- value++;
- }
- for (int i = 1; i <= dim; i++) {
- for (int j = 0; j < dim; j++) {
- System.out.print(a[i][j] + " ");
- }
- System.out.println("");
- }
- }else{
- System.out.println("Magic Square Dimenssion Should Be Odd Number.");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment