Найти наибольший и наименьший элементы прямоугольной матрицы и поменять их местами - C (СИ)

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

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

Помогите пожалуйста решить задачу : Найти наибольший и наименьший элементы прямоугольной матрицы и поменять их места-ми. Вот код :
#include<conio.h>
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#define n 3
 
void main()
{
clrscr();
int m[n][n],i,j,d,t,v;
int max;
int min;
//randomize();
printf("vvedite 9 4isel\n");
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&m[i][j]);
//m[i][j]=random(n);
printf("Nash massiv\n");
for(i=0;i<n;i++)
{printf("\n");
for(j=0;j<n;j++)
printf("%d\t",m[i][j]);
}
max=m[0][0];
min=m[0][0];
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{if(max<m[i][j])
max=m[i][j];
if(min>m[i][j])
min=m[i][j];}
t=max;d=min;
printf("min=%d,max=%d\n",min,max);
printf("t=%d,d=%d",t,d);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{if(m[i][j]==min)/* не могу понять в чём ошибка , одно число переставляет , а второе оставляет без изменений(там же )*/
m[i][j]=max;
if(m[i][j]==max)
m[i][j]=min; }
printf("min=%d,max=%d\n",min,max);
printf("Sdelanni massiv\n");
for(i=max;i<n;i--)
{printf("\n");
for(j=min;j<n;j++)
printf("%d\t",m[i][j]);}
getch();
}
Буду рад любому объяснению . Зарание спасибо !!!

Решение задачи: «Найти наибольший и наименьший элементы прямоугольной матрицы и поменять их местами»

textual
Листинг программы
for(i=0;i<n;i++)
    for(j=0;j<n;j++)
        {  // не могу понять в чём ошибка 
            if(m[i][j]==min)
                m[i][j]=max;  // если нашли минимальный, то меняем его на максимальный
        
            if(m[i][j]==max) // если перед этим была замена на max, то тут m[i][j] = max
                m[i][j]=min; // элемент меняем обратно на минимум
        }

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

В этом коде ищется минимальный элемент в матрице и меняется на максимальное значение, после чего ищется максимальный элемент и меняется на минимальное значение. Список действий:

  1. Входные данные:
    • n — размерность матрицы (количество строк и столбцов)
    • m — матрица, в которой ищется минимальный и максимальный элементы
    • min — текущее минимальное значение элемента матрицы
    • max — текущее максимальное значение элемента матрицы
  2. Пройти по всем элементам матрицы с помощью двух вложенных циклов.
  3. Если элемент матрицы m[i][j] равен min, то поменять его на max.
  4. Если элемент матрицы m[i][j] равен max, то поменять его на min.

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


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

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

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