Задать условие для массива - C (СИ)
Формулировка задачи:
Помогите задать условие для смены диагоналей
Решение задачи: «Задать условие для массива»
textual
Листинг программы
#include <stdio.h>
#define N 7
int main(void)
{
int arr[N][N], i, j, tmp;
for (i = 0; i < N; i++)
{
for (j = 0; j < N; j++)
{
arr[i][j] = i*N + j + 1;
printf("%2d ", arr[i][j]);
}
printf("\n");
}
for (i = N/2; i < N - 1; i++)
{
tmp = arr[i + 1][i];
arr[i + 1][i] = arr[N - i - 2][i];
arr[N - i - 2][i] = tmp;
}
printf("\n");
for (i = 0; i < N; i++)
{
for (j = 0; j < N; j++)
printf("%2d ", arr[i][j]);
printf("\n");
}
return 0;
}
Объяснение кода листинга программы
- Подключение стандартной библиотеки для работы с файлами и вывода данных.
- Установка размера массива N на 7.
- Объявление переменных: — arr[N][N] - двумерный массив размером N на N; — i, j, tmp - переменные для управления циклами.
- Заполнение массива значениями в соответствии с формулой i*N + j + 1.
- Вывод на экран содержимого массива.
- Прямой перестановкой элементов массива с помощью временной переменной tmp.
- Вывод на экран переставленного массива.
- Возврат 0 для завершения программы.