Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Проходящий
0 / 0 / 0
Регистрация: 26.12.2012
Сообщений: 15
#1

Поменять местами максимальный и минимальный элемент матрицы - C++

26.12.2012, 01:20. Просмотров 407. Ответов 1
Метки нет (Все метки)

Здравствуйте. Задача вроде бы простая, но у меня возникло затруднение. Искал подобные, но свою ошибку увидеть не могу в упор.

Суть задачи: дана матрица n на m. Поменять местами максимальный и минимальный элемент матрицы.

Вот мой код:

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
41
42
43
44
45
46
47
48
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int _tmain( )
{const int n=2;
 const int m=3;
 int mass[n][m],i,j,imax=0,jmax=0,imin=0,jmin=0,b;
 for (i=0;i<n;i++)
 {
     for (j=0;j<m;j++)
     {
         cout<<"Vvedite chislo"<<endl;
         cin>>mass[i][j];
     }
 }
for (i=1;i<n;i++)
{
     for (j=1;j<m;j++)
     { 
         if (mass[imax][jmax]<mass[i][j])
         imax=i;
         jmax=j;
     }
}
         
for (i=1;i<n;i++)
    {
     for (j=1;j<m;j++)
     {
      if (mass[imin][jmin]>mass[i][j])
      imin=i;
      jmin=j;
     }
 }
b=mass[imin][jmin];
mass[imin][jmin]=mass[imax][jmax];
mass[imax][jmax]=b;
 for (i=0;i<n;i++)
 {
     {for (j=0;j<m;j++)
     {
         cout<<mass[i][j]<<'\t';
     }
     cout<<endl;}
 }
    return 0;
}
Но в результате меняются местами только элементы последнего столбца, либо вообще ничего не меняется. Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.12.2012, 01:20     Поменять местами максимальный и минимальный элемент матрицы
Посмотрите здесь:

C++ Поменять местами максимальный и минимальный элемент в массиве
Поменять местами минимальный и максимальный элемент C++
Поменять местами столбцы матрицы: столбец, содержащий максимальный элемент матрицы, и столбец, содержащий минимальный элемент матрицы. C++
Поменять местами минимальный и максимальный элемент в каждом столбце C++
C++ Поменять местами минимальный и максимальный элемент в каждом столбце матрицы
C++ Поменять местами минимальный и максимальный элемент в каждом столбце матрицы
Поменять местами минимальный и максимальный элемент в каждом столбце матрицы C++
C++ Поменять местами минимальный из положительных элементов матрицы и максимальный элемент столбца
C++ Поменять местами минимальный и максимальный элемент массива Z
Поменять местами максимальный элемент матрицы с его первым элементом а минимальный с последним C++
C++ В матрице поменять максимальный и минимальный элемент местами
Поменять местами максимальный и минимальный элемент массива C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vua72
415 / 415 / 85
Регистрация: 28.11.2010
Сообщений: 1,183
Завершенные тесты: 1
26.12.2012, 02:20     Поменять местами максимальный и минимальный элемент матрицы #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
    for (i=0; i<n; i++)
    {
        for (j=0; j<m; j++) {
            if (i==0&&j==0) {
                min=mas[i][j];
                max=mas[i][j];
                continue;
            }
            if (mas [i][j]<min) {
                min=mas[i][j];
                imax=i;
                jmax=j;
            }
            if (mas [i][j]>max) {
                max=mas[i][j];
                imin=i;
                jmin=j;
            }
        }
    }
    b=mas[imax][jmax];
    mas[imax][jmax]=mas[imin][jmin];
    mas[imin][jmin]=b;
Yandex
Объявления
26.12.2012, 02:20     Поменять местами максимальный и минимальный элемент матрицы
Ответ Создать тему
Опции темы

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