Составить матрицу спиралью на языке С++
Вывести квадрат, состоящий из N*N клеток, заполненных числами от 1 до N в квадрате. Выводится N строк по N чисел, разделённых пробелами. Не допускается начинать спираль в ином, кроме верхнего правого, углу, закручивать спираль по часовой стрелке или изнутри наружу. Спасибо тем, кто поможет.
По дате
По рейтингу
Примерно так
arr[0][0]=1;o=2;k=N;x=1;y=0;
while(k>0){
for(i=0;i<k;i++){ x++; arr[x][y]=o++; } k--;
for(i=0;i<k;i++){ y++; arr[x][y]=o++; }
for(i=0;i<k;i++){ x--; arr[x][y]=o++; } k--;
for(i=0;i<k;i++){ y--; arr[x][y]=o++; }
}
PS: Это спираль по часовой стрелке
"спасибо" - это когда походя подсказал название улицы...
Больше по теме