Поменять местами столбцы, содержащие минимальный и максимальный элементы матрицы - C (СИ)
Формулировка задачи:
Прошу помочь в данной задаче.
Дана матрица размера M × N. Поменять местами столбцы, содержащие минимальный и максимальный элементы матрицы
Решение задачи: «Поменять местами столбцы, содержащие минимальный и максимальный элементы матрицы»
textual
Листинг программы
- int i, j, n, m, maxCol, minCol;
- double maxVal, minVal, dblBuf;
- double a[50][50];
- n = 5;
- m = 4;
- maxVal = -1000000;
- minVal = 1000000;
- // Заполнение массива
- for (i = 0; i < n; i++)
- {
- for (j = 0; j < m; j++)
- {
- a[i][j] = rand() % 50;
- printf("%6.2lf ", a[i][j]);
- }
- printf("\n");
- }
- printf("\n");
- // Поиск максимального и минимального значение и номеров соответствующих столбцов
- for (i = 0; i < n; i++)
- {
- for (j = 0; j < m; j++)
- {
- if (a[i][j] > maxVal)
- {
- maxVal = a[i][j];
- maxCol = j;
- }
- if (a[i][j] < minVal)
- {
- minVal = a[i][j];
- minCol = j;
- }
- }
- }
- // Замена столбцов
- for (i = 0; i < n; i++)
- {
- dblBuf = a[i][maxCol];
- a[i][maxCol] = a[i][minCol];
- a[i][minCol] = dblBuf;
- }
- // Вывод результатаов
- printf("Максимальное значение (%f) содержится в столбце (%d)\n", maxVal, maxCol);
- printf("Минимальное значение (%f) содержится в столбце (%d)\n", minVal, minCol);
- printf("Модифицированная таблица:\n", minVal, minCol);
- for (i = 0; i < n; i++)
- {
- for (j = 0; j < m; j++)
- {
- printf("%6.2lf ", a[i][j]);
- }
- printf("\n");
- }
- printf("\n");
Объяснение кода листинга программы
- Объявлены необходимые переменные:
i
,j
,n
,m
,maxCol
,minCol
- целочисленные индексы для работы с матрицей;maxVal
,minVal
- для хранения максимального и минимального значений в матрице;dblBuf
- для временного хранения значения при перестановке столбцов;a[50][50]
- двумерный массив размерности 50x50.
- Заполнение матрицы
a
случайными значениями от 0 до 49 с помощью функцииrand()
. - Поиск максимального и минимального значений в матрице
a
и их соответствующих столбцов. - Замена столбцов с минимальным и максимальным значениями с помощью временной переменной
dblBuf
. - Вывод на экран максимального и минимального значений и их столбцов.
- Вывод на экран модифицированной матрицы
a
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д