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

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

  1. Ввод размера матрицы m и n с помощью функции scanf.
  2. Инициализация матрицы случайными числами с помощью функции rand() и вычисление максимального и минимального значения матрицы.
  3. Поиск минимального и максимального значения в матрице с помощью двух вложенных циклов.
  4. Замена максимального и минимального значения местами с помощью двух вложенных циклов.
  5. Вывод матрицы на экран с помощью двух вложенных циклов и функции printf.
  6. Получение ввода от пользователя с помощью функции getch.
  7. Возвращение значения 0, чтобы указать, что программа успешно завершилась.

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


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

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

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