Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
arteman152
0 / 0 / 0
Регистрация: 28.02.2014
Сообщений: 25
1

Нужно написать программу, которая находит минимум и максимум в двумерном массиве и меняет их местами

28.02.2014, 15:07. Просмотров 2150. Ответов 3
Метки нет (Все метки)

Написать программу, которая находит минимум и максимум в двумерном массиве и меняет их местами. Нужно заметить, что несколько элементов могут быть минимальными и максимальными соответственно, значит все их нужно поменять местами. Например:
Старая матрица Новая матрица
1 3 4 5 6 7 7 2 4 5 6 1
4 5 2 8 1 4 4 5 2 8 7 4
5 3 1 7 3 1 5 3 7 1 3 7
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.02.2014, 15:07
Ответы с готовыми решениями:

Минимум и максимум в двумерном массиве
Написать программу, которая находит минимум и максимум в двумерном массиве. Помогите пожалуйста!

Максимум и минимум в столбцах в двумерном массиве
Дан двумерный массив целых чисел a из n строк и m столбцов. Требуется для каждого столбца...

Найти максимум и минимум в двумерном массиве
где ошибка Спрашивает, как заполнить двум массив, ищет max и min #include <iostream>...

Максимум и минимум в строках в двумерном массиве
Дан двумерный массив целых чисел a из n строк и m столбцов. Требуется для каждой строки определить...

Написать рекурсивную функцию, которая находит минимальный элемент в матрице (двумерном массиве).
Написать рекурсивную функцию, которая находит минимальный элемент в матрице (двумерном массиве). ...

3
Amandosov
Знаток
156 / 156 / 185
Регистрация: 18.11.2012
Сообщений: 411
Записей в блоге: 2
28.02.2014, 18:19 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
using namespace std;
 
int main()
{int a[1000][1000],n,m,max,min;
cin>>n>>m;
 
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
cin>>a[i][j];
 
max=a[0][0];min=a[0][0];
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
{
if(a[i][j]>max) max=a[i][j];
if(a[i][j]<min) min=a[i][j];
}
 
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
{if(a[i][j]==max) a[i][j]=min;
if(a[i][j]==min) a[i][j]=max;}
 
for(int i=0;i<n;i++)
{for(int j=0;j<m;j++)
cout<<a[i][j]<<' ';
cout<<endl;
}
return 0;
}
0
easybudda
Модератор
Эксперт JavaЭксперт CЭксперт С++
10641 / 6330 / 1585
Регистрация: 25.07.2009
Сообщений: 12,067
28.02.2014, 19:46 3
Цитата Сообщение от arteman152 Посмотреть сообщение
Нужно заметить, что несколько элементов могут быть минимальными и максимальными соответственно, значит все их нужно поменять местами.
Мало того, количество максимальных элементов может быть больше (меньше) количества минимальных - тогда как быть?
0
ALEXey__
7 / 7 / 8
Регистрация: 10.02.2014
Сообщений: 70
01.03.2014, 00:09 4
Лучший ответ Сообщение было отмечено arteman152 как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <iostream>
 using namespace std;
int main()
{
    int n,arr[50][50],min,max;
   cout<<"Размер массива NxN: "; cin>>n;
   for (int i=0; i<n; i++){
       for (int j=0; j<n; j++){
cout<<"["<<i+1<<"]"<<"["<<j+1<<"]: "; cin>>arr[i][j];//заполняем массив
max=arr[i][j]; min=arr[i][j];
       }
   }
 
 for (int i=0; i<n; i++){
       for (int j=0; j<n; j++){
if (max<arr[i][j]){max=arr[i][j];}//находим максимальный элемент
if (min>arr[i][j]){min=arr[i][j];}//находим минимальный
       }
      }
 
   for (int i=0; i<n; i++){
       for (int j=0; j<n; j++){
        if (arr[i][j]==min) arr[i][j]=max;//меняем местами миним. и макс.
        else
           if (arr[i][j]==max) arr[i][j]=min;//меняем местами макс. и миним.
 
       }
      }
 
   cout<<"Измененный массив: "<<endl;
   for (int i=0; i<n; i++){
       for (int j=0; j<n; j++){
   cout<<arr[i][j]<<"   "; //выводим измененный массив
       }
    cout<<'\n';
      }
   cout<<"Минимум: "<<min<<endl;
   cout<<"Максимум "<<max<<endl;
    return 0;
}
0
01.03.2014, 00:09
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.03.2014, 00:09

Написать программу которая меняет местами элементы массива
Уважаемые програмисты помогите решить задачи 1,Написать программу которая меняет местами...

Написать программу, которая меняет местами элементы массива
1.Написать программу, которая меняет местами элементы массива относительно его середины (зеркальное...

В двумерном массиве определить среднее арифметическое каждого столбца и максимум и минимум каждой строки
Дан двухмерный массив 5x6 . Определить среднее арифметическое каждого столбца, определить максимум ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.