Определить в каждой строке матрицы max и min элементы, после чего поменять их местами - C (СИ)
Формулировка задачи:
Дана матрица D(8x8), элементами которой являются целые числа. определить в каждой строке max и min элементы, после чего поменять их местами.
Решение задачи: «Определить в каждой строке матрицы max и min элементы, после чего поменять их местами»
textual
Листинг программы
#include <stdio.h> #include <conio.h> #include <stdlib.h> #include <iostream> #include <math.h> int main() { //setlocale(0,""); int m,n,i,j,max,min; printf("Введите числа n и m для определения размерности массива\n"); scanf("%d %d",&n,&m); int matrix[n][m]; for (i=0;i<m;i++) { for (j=0;j<n;j++) matrix[i][j]=rand()%20-10; } for (i=0;i<m;i++) { for (j=0;j<n;j++) printf("%d\t",matrix[i][j]); printf("\n"); } max=-11; min=11; for (i=0;i<m;i++) { for (j=0;j<n;j++) { if (matrix[i][j]<=min) { min=matrix[i][j]; } if (matrix[i][j]>=max) { max=matrix[i][j]; } } } for (i=0;i<m;i++) { for (j=0;j<n;j++) { if (matrix[i][j]==max) matrix[i][j]=min; else if(matrix[i][j]==min) matrix[i][j]=max; } } printf("\n"); for (i=0;i<m;i++) { for (j=0;j<n;j++) printf("%d\t",matrix[i][j]); printf("\n"); } getch(); return 0; }
Объяснение кода листинга программы
- Ввод размера матрицы m и n с помощью функции scanf.
- Инициализация матрицы случайными числами с помощью функции rand() и вычисление максимального и минимального значения матрицы.
- Поиск минимального и максимального значения в матрице с помощью двух вложенных циклов.
- Замена максимального и минимального значения местами с помощью двух вложенных циклов.
- Вывод матрицы на экран с помощью двух вложенных циклов и функции printf.
- Получение ввода от пользователя с помощью функции getch.
- Возвращение значения 0, чтобы указать, что программа успешно завершилась.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д