Делаю небольшое упражнение.
Немогу доделать заполнение массива значениями по спирали, т.е должно получиться так:
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
работает правильно по первому ободку,
хотелось бы увидеть другие реализации и помощь в качестве объяснения, как мне это доделать, и что не правильно.
код на Java(ну это не страшно)
int arr[][] = new int[5][5];
int l = 0;
int r = 4;
for (int s = 0; s < arr.length; s++,l++) {
// верхнняя граница
for (int i = 0; i < arr[0].length; i++) {
arr[l][i] = i+1;
}
// правая граница
for (int i = 0; i < arr.length; i++) {
arr[i][r] = arr[l][4]+i;
}
// нижняя граница
for (int i = 0; i < arr[4].length; i++) {
arr[r][i] = arr[r][4]+4 -i;
}
// левая граница
for (int i = 1; i < arr.length; i++) {
arr[i][0] = arr[r][0]+4-i ;
}
}