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

Переставляя строки и столбцы матрицы, добиться, чтобы наибольший элемент оказался в верхнем левом углу - C++

Восстановить пароль Регистрация
 
4AKE
29 / 29 / 12
Регистрация: 20.12.2010
Сообщений: 115
28.02.2011, 12:33     Переставляя строки и столбцы матрицы, добиться, чтобы наибольший элемент оказался в верхнем левом углу #1
Дана вещественная матрица A размером 7*4. Переставляя ее строки и столбцы,добиться того,чтобы наибольший элемент (один из них) оказался в верхнем левом углу.
Помогите решить на C++.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.02.2011, 12:33     Переставляя строки и столбцы матрицы, добиться, чтобы наибольший элемент оказался в верхнем левом углу
Посмотрите здесь:

Путем перестановки квадратной веществ. матрицы добиться того, чтобы максимум находился в левом верхнем углу C++
C++ Путем перестановки элементов квадратной матрицы добиться того,чтобы ее макс элемент находился в левом верхнем углу
Добиться того, чтобы один из элементов матрицы, обладающий наибольшим по модулю значением, располагался в левом верхнем углу матрицы C++
Массив: Переставляя ее строки и столбцы достичь того, чтобы наибольший элемент матрицы оказался в верхнем левом углу C++
C++ Добиться того, чтобы наибольший элемент данной матрицы оказался в верхнем левом углу
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IrineK
Заблокирован
28.02.2011, 12:42     Переставляя строки и столбцы матрицы, добиться, чтобы наибольший элемент оказался в верхнем левом углу #2
Покажите, что сделано.
4AKE
29 / 29 / 12
Регистрация: 20.12.2010
Сообщений: 115
28.02.2011, 13:32  [ТС]     Переставляя строки и столбцы матрицы, добиться, чтобы наибольший элемент оказался в верхнем левом углу #3
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
int main ()
{
 int i,j,n=0,m=0;
 double mas[7][4],max;
 
 for (i=0; i<7;i++)
 for(j=0;j<4;j++)
 { cout<<"Vvedite elementi:"<<endl;
    cin>>mas[i][j];
 }
 
  for(int i=0; i<7; i++)
       {  for(int j=0; j<4; j++)
         {
             cout<<mas[i][j]<<"  ";
         }
         cout<<endl; }
 
 max=mas[0][0];
 for (i=0; i<7;i++)
 for(j=0;j<4;j++)
 if (mas[i][j]> max) 
 {max=mas[i][j];
 n=i, m=j; }
 cout<<max<<n<<m<<endl ;
 
          
 system("pause");
 return 0;
}
Я нашёл максимальный элемент и его положение в матрице (n, m). Как переставить строки и столбцы, чтоб он оказался в верхнем левом углу?
IrineK
Заблокирован
28.02.2011, 13:52     Переставляя строки и столбцы матрицы, добиться, чтобы наибольший элемент оказался в верхнем левом углу #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
int main ()
{
 int i,j,n,m;
 double mas[7][4],max, cur;
 
 cout<<"Vvedite elementy 7 X 4:"<<endl;//дальше вводишь 7 строк по 4 элемента через пробел, так удобнее
 for (i=0; i<7;i++)
    for(j=0;j<4;j++)
     cin>>mas[i][j];
 
  for(int i=0; i<7; i++)
        { for(int j=0; j<4; j++)
               cout<<mas[i][j]<<"\t";
         cout<<endl; }
 
 max=mas[0][0];
 for (i=0; i<7;i++)
    for(j=0;j<4;j++)
        if (mas[i][j]> max) 
            {max=mas[i][j];
            n=i, m=j; }
 cout<<"Max = mas"<<"["<<n<<"]["<<m<<"] = "<<max<<endl ;
 
//обмен верхнего левого и найденного максимального элементов
cur=mas[0][0];
mas[0][0]=max;
mas[n][m]=cur;
 
cout<<"Result:\n";
for(int i=0; i<7; i++)
        { for(int j=0; j<4; j++)
               cout<<mas[i][j]<<"\t";
         cout<<endl; }
 
 system("pause");
 return 0;
}
Просто переставляем два элемента.
Yandex
Объявления
28.02.2011, 13:52     Переставляя строки и столбцы матрицы, добиться, чтобы наибольший элемент оказался в верхнем левом углу
Ответ Создать тему
Опции темы

Текущее время: 06:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru