Расположить максимальные элементы строк вдоль побочной диагонали матрицы - 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;
}

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

  1. Включаем необходимые заголовочные файлы
  2. Объявляем матрицу A размером NxN и инициализируем её случайными значениями от 0 до 9
  3. Выводим матрицу A на экран
  4. Повторяем этот процесс для каждой строки матрицы (для i от 0 до N-1)
  5. Во время прохода по матрице (для j от 0 до N-2) находим максимальный элемент в текущей строке (iMax)
  6. Если максимальный элемент находится не на своём месте (iMax != N-1-i), меняем его местами с элементом, находящимся на позиции N-1-i
  7. Выводим полученную строку на экран
  8. Возвращаем 0, чтобы указать, что программа успешно завершилась

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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