написать программу заполнения матрицы по спирали против часовой стрелки, начиная с верхнего левого у - Компьютерные вопросы

Вопрос написать программу заполнения матрицы по спирали против часовой стрелки, начиная с верхнего левого у

Регистрация
17 Окт 2013
Сообщения
93
Репутация
0
Спасибо
0
Монет
0
у меня программа по часовой стрелке, как изменить против часовой стрелке?
#include
#include
#define n 13

int main(void) {
int i = 1, j, k;
int p = n / 2;
int A[n][n];

// Обнуление матрицы
for (j = 0; j < n; ++j)
for (k = 0; k < n; ++k)
A[j][k] = 0;

printf(" Spiral matrix of dimention (%d x %d): ", n, n);

for (k = 1; k <= p; k++) // Число спиралей
{
// Верхний горизонтальный столбец
for (j = (k - 1); j < (n - k + 1); j++)
A[(k - 1)][j] = i++;

// Правый верхний столбец
for (j = k; j < (n - k + 1); j++)
A[j][n - k] = i++;

// Нижний горизонтальный столбец
for (j = (n - k - 1); j >= (k - 1); --j)
A[n - k][j] = i++;

// Левый верхний столбец
for (j = (n - k - 1); j >= k; j--)
A[j][(k - 1)] = i++;
}
if (n % 2)
A[p][p] = n*n;

// Распечатка матрицы
for (i = 0; i < n; ++i)
for (j = 0; j < n; ++j)
{
printf("%5d", A[j]);
if (j == (n - 1))
printf(" ");
}

printf(" Press any key: ");
_getch();
return 0;
}
 
Регистрация
10 Июл 2013
Сообщения
80
Репутация
0
Спасибо
0
Монет
0
Необходимо поменять условие, начальное и конечное значение циклов на противоположное, это не очень сложно, могу помочь (100р) Очень много лишних скобок, которые не влияют на алгоритм, но мешают восприятию кода..
 
Сверху Снизу