Заполнение Массива По Спирали

  • Автор темы Dominus
  • Дата начала
D

Dominus

#1
помогите заполнить массив по спирали по часовой стрелки . Посмотреть вложение 5368 У меня заполняет массив последовательно
#include <stdio.h>
#define S 9
int Ar; /* матрица */
int main(void) {
short l, r; /* текущие индексы */
short r1,r2; /* граничные номера столбцов */
short dd; /* модификатор граничных номеров */
short k; /* текущий член ЛП */
/* начальные значения переменных */
r1=1; r2=S-1; dd=1; k=1;
for (l=0; l<S; l++) { /* перебор строк */
for (r=0; r<S; r++) /* перебор столбцов */
/* условие ненулевого значения */
if ((r<r1)||(r>r2)) Ar[l][r]=1;
else Ar[l][r]=k++;
/* конец перебора строк */
/* модификация границ */
r1-=dd; r2+=dd;
/* уловие перехода в нижнюю часть */
if (r1>r2) dd=-dd;
} /* конец перебора столбцов */
/* вывод матрицы */
for (l=0; l<S; l++) {
for (r=0; r<S; r++) {
printf("%3d",Ar[l][r]);
}
printf("\n");
}
return 0;
}
 
R

rrrFer

#2
в интернетах есть готовые решения (и я тоже где-то их писал), они все не подходят?