Расположить максимальные элементы строк вдоль побочной диагонали матрицы - C (СИ)
Формулировка задачи:
Здравствуйте. Помогите, пожалуйста, решить задачу. Дан двумерный массив размера (N*N) (N=5). Расположить максимальные элементы строк вдоль побочной диагонали.
Решение задачи: «Расположить максимальные элементы строк вдоль побочной диагонали матрицы»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <time.h> #define N 5 int main(void) { int A[N][N], i, j, iMax, tmp; srand(time(NULL)); for (i = 0; i < N; i++) { for (j = 0; j < N; j++) { A[i][j] = rand() % 10; printf("%d ", A[i][j]); } printf("\n"); } printf("\nAfter:\n"); for (i = 0; i < N; i++) { iMax = 0; for (j = 1; j < N; j++) if (A[i][iMax] < A[i][j]) iMax = j; if (iMax != N - 1 - i) { tmp = A[i][N - 1 - i]; A[i][N - 1 - i] = A[i][iMax]; A[i][iMax] = tmp; } for (j = 0; j < N; j++) printf("%d ", A[i][j]); printf("\n"); } return 0; }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
- Объявляем матрицу A размером NxN и инициализируем её случайными значениями от 0 до 9
- Выводим матрицу A на экран
- Повторяем этот процесс для каждой строки матрицы (для i от 0 до N-1)
- Во время прохода по матрице (для j от 0 до N-2) находим максимальный элемент в текущей строке (iMax)
- Если максимальный элемент находится не на своём месте (iMax != N-1-i), меняем его местами с элементом, находящимся на позиции N-1-i
- Выводим полученную строку на экран
- Возвращаем 0, чтобы указать, что программа успешно завершилась
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д