В каждой строке матрицы поменять местами максимальный элемент и элемент, находящийся на главной диагонали - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Добрый Дня Всем! Столкнулся с проблемой в решении задания: В квадратной матрице С размера m*m в каждой строке поменять местами максимальный элемент и элемент, находящийся на главной диагонали. (Написать и протестировать функцию)

Решение задачи: «В каждой строке матрицы поменять местами максимальный элемент и элемент, находящийся на главной диагонали»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
 
#define SIZE_T 5
 
int main(void) {
 
    int i, j;
    int max;
    int max_row, max_col;
    int t[SIZE_T][SIZE_T] = { {1,  4, -5,  0,  7},
                          {4,  7,  8, -1,  2},
                  {1,  0,  4,  7,  4},
                  {3, -6, -8,  1,  5},
                  {2, -9,  5,  7,  8} };
 
    for (i = 0; i < SIZE_T; ++i) {
        for (j = 0; j < SIZE_T; ++j) {
            printf("%5d", t[i][j]);
        }
        printf("\n");
    }
 
    for (i = 0; i < SIZE_T; ++i) {
        max = 0;
        for (j = 0; j < SIZE_T; ++j) {
            if (t[i][j] > max) {
                max = t[i][j];
                max_row = i;
                max_col = j;
            }
        }
        j = i;
        t[max_row][max_col] = t[i][j];
        t[i][j] = max;
    }
 
    printf("\n");
    for (i = 0; i < SIZE_T; ++i) {
        for (j = 0; j < SIZE_T; ++j) {
            printf("%5d", t[i][j]);
        }
        printf("\n");
    }
 
    return EXIT_SUCCESS;
}

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

  1. Объявлены массивы:
    • t[SIZE_T][SIZE_T] - матрица размером SIZE_T x SIZE_T для хранения исходных данных;
    • max - для хранения максимального элемента;
    • max_row и max_col - для хранения координат максимального элемента.
  2. В первой части программы исходные данные выводятся на экран.
  3. Во второй части программы:
    • Перебираются все строки матрицы.
    • Для каждой строки находится максимальное значение и его координаты.
    • Записывается максимальное значение на место элемента, находящегося на главной диагонали.
    • Элемент, находящийся на главной диагонали, заменяется на максимальное значение.
  4. В третьей части программы результаты выводятся на экран.
  5. Программа завершается возвратом значения EXIT_SUCCESS.

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


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

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

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