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

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

Восстановить пароль Регистрация
 
Bob_Sagen
0 / 0 / 0
Регистрация: 04.11.2013
Сообщений: 47
17.01.2014, 21:43     Добиться того, чтобы наибольший элемент данной матрицы оказался в верхнем левом углу #1
Дана вещественная матрица размером N x M . Переставляя ее строки и столбцы, добиться того, чтобы наибольший элемент (один из них) оказался в верхнем левом углу.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.01.2014, 21:43     Добиться того, чтобы наибольший элемент данной матрицы оказался в верхнем левом углу
Посмотрите здесь:

Путем перестановки квадратной веществ. матрицы добиться того, чтобы максимум находился в левом верхнем углу C++
C++ Путем перестановки элементов квадратной действительной матрицы достичь того, чтобы ее максимальный элемент находился в левом верхнем углу...
C++ Путем перестановки элементов квадратной матрицы добиться того,чтобы ее макс элемент находился в левом верхнем углу
Добиться того, чтобы один из элементов матрицы, обладающий наибольшим по модулю значением, располагался в левом верхнем углу матрицы C++
Массив: Переставляя ее строки и столбцы достичь того, чтобы наибольший элемент матрицы оказался в верхнем левом углу C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MicM
 Аватар для MicM
820 / 487 / 90
Регистрация: 29.12.2009
Сообщений: 1,097
Завершенные тесты: 1
17.01.2014, 23:05     Добиться того, чтобы наибольший элемент данной матрицы оказался в верхнем левом углу #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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <iostream>
#include <iomanip>
#include <ctime>
#include <cstdlib>
using std::cout;
using std::endl;
 
const int N = 5;
const int M = 6;
 
int main()
{
    int a[N][M];
    srand (time(0));
    for (int i=0; i<N; i++)
    {
        for (int j=0; j<M; j++)
        {
            a[i][j]=rand()%50+1;
            cout <<std::setw(3) <<a[i][j];
        }
        cout <<endl;
    }
    int maxIndexI = 0,maxIndexJ = 0;
    for (int i=0; i<N; i++)
        for (int j=0; j<M; j++)
            if (a[i][j] > a[maxIndexI][maxIndexJ])
            {
                maxIndexI = i;
                maxIndexJ = j;
            }
    if (a[0][0]!=a[maxIndexI][maxIndexJ])
    {
        int tmp;
        if (maxIndexI!=0)
            for (int j=0; j<M; j++)
            {
                tmp = a[maxIndexI][j];
                a[maxIndexI][j] = a[0][j];
                a[0][j] = tmp;
            }
        if (maxIndexJ!=0)
            for (int i=0; i<N; i++)
            {
                tmp = a[i][maxIndexJ];
                a[i][maxIndexJ] = a[i][0];
                a[i][0] = tmp;
            }
    }
    cout <<endl;
    for (int i=0; i<N; i++)
    {
        for (int j=0; j<M; j++)
            cout <<std::setw(3) <<a[i][j];
        cout <<endl;
    }
    return 0;
}
Aliss
Сообщений: n/a
05.07.2014, 15:49     Добиться того, чтобы наибольший элемент данной матрицы оказался в верхнем левом углу #3
А вы не могли написать пояснение к коду, пожалуйста. я пока только осваиваю си
BBSupra
0 / 0 / 0
Регистрация: 17.01.2015
Сообщений: 2
24.01.2015, 15:26     Добиться того, чтобы наибольший элемент данной матрицы оказался в верхнем левом углу #4
спасибо)
Yandex
Объявления
24.01.2015, 15:26     Добиться того, чтобы наибольший элемент данной матрицы оказался в верхнем левом углу
Ответ Создать тему
Опции темы

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