Расположить максимальные элементы строк вдоль побочной диагонали матрицы - 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, чтобы указать, что программа успешно завершилась
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д