Задать условие для массива - 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;
}

Объяснение кода листинга программы

  1. Подключение стандартной библиотеки для работы с файлами и вывода данных.
  2. Установка размера массива N на 7.
  3. Объявление переменных: — arr[N][N] - двумерный массив размером N на N; — i, j, tmp - переменные для управления циклами.
  4. Заполнение массива значениями в соответствии с формулой i*N + j + 1.
  5. Вывод на экран содержимого массива.
  6. Прямой перестановкой элементов массива с помощью временной переменной tmp.
  7. Вывод на экран переставленного массива.
  8. Возврат 0 для завершения программы.

Оцени полезность:

11   голосов , оценка 3.909 из 5
Похожие ответы