
Untitled
By: a guest on
Apr 29th, 2012 | syntax:
None | size: 1.24 KB | hits: 13 | expires: Never
public class Spirale {
public static void print(int[][] arr) {
for(int i = 0; i < arr.length; i++) {
for(int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j] + " \t");
}
System.out.print("\n");
}
}
public static void main(String[] args) {
int m = 3;
int n = 3;
int[][] erg = new int[m][n];
int upperRow = m;
int lowerRow = 0;
int upperCol = n;
int lowerCol = 0;
int counter = 1;
while(counter < (m*n)) {
int i = lowerRow;
int j = lowerCol;
if(lowerCol == upperCol-1 || lowerRow == upperRow) erg[i][j] = counter++;
for(; j < upperCol-1; j++, counter++) {
erg[i][j] = counter;
if(counter >= (m*n)) break;
}
upperCol--;
// print(erg);
// System.out.println(counter);
for(; i < upperRow-1; i++, counter++) {
erg[i][j] = counter;
if(counter >= (m*n)) break;
}
upperRow--;
// print(erg);
// System.out.println();
for(; j >= lowerCol+1; j--, counter++) {
erg[i][j] = counter;
if(counter >= (m*n)) break;
}
lowerCol++;
// print(erg);
// System.out.println();
for(; i >= lowerRow+1; i--, counter++) {
erg[i][j] = counter;
if(counter >= (m*n)) break;
}
lowerRow++;
// print(erg);
// System.out.println();
}
print(erg);
}
}