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

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

Восстановить пароль Регистрация
 
moonk
0 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 33
19.12.2013, 21:34     Поменять местами столбцы с максимальным и минимальным элементами в матрице #1
дана квадратная матрица натуральных чисел(получаемая через rand()). Поменять местами столбцы с максимальным и минимальным элементами в матрице. вывести на печать начальный и конечный вариант матриц
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2013, 21:34     Поменять местами столбцы с максимальным и минимальным элементами в матрице
Посмотрите здесь:

Для матрицы 6*6 найти столбцы с минимальным и максимальным элементом и поменять их местами C++
Для масива 7 на 7 найти строки з максимальным и минимальным елементом и поменять их местами C++
в матрице поменять столбцы с min и max элементами C++
C++ Поменять местами элементы с максимальным и минимальным значениями
Поменять местами строку с максимальным и минимальным элементом матрицы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
azoller
17 / 17 / 1
Регистрация: 03.05.2013
Сообщений: 114
19.12.2013, 21:38     Поменять местами столбцы с максимальным и минимальным элементами в матрице #2
1. Заполняешь матрицу.
2. Задаешь пару переменных для хранения max и min значений.
3. Приравниваешь им значения A[0][0].
4. Пробегаешь по всей матрице, сравнивая очередное значение матрицы с min и max.
5. Если условие сравнения истинное, запоминаешь переменную-счетчик на данной операции.
6. Меняешь значения местами.
recoder
 Аватар для recoder
129 / 129 / 28
Регистрация: 13.09.2013
Сообщений: 260
Записей в блоге: 2
19.12.2013, 22:20     Поменять местами столбцы с максимальным и минимальным элементами в матрице #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
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
59
60
61
62
63
#include <iostream>
#include <ctime>
#include <cstdlib>
#include <iomanip>
 
int main()
{
    using namespace std;
 
    int mas[5][5];
 
    srand(time(NULL));
    for(int i = 0; i < 5; i++)
        for(int j = 0; j < 5; j++)
            mas[i][j] = rand() % 10 + 1;
 
 
    int min, max;
    min = mas[0][0];
    max = mas[0][0];
 
    int nj, mj;
    nj = mj = 0;
 
    for(int i = 0; i < 5; i++)
        for(int j = 0; j < 5; j++){
            if (min >= mas[i][j]){
                min = mas[i][j];
                nj = j;
            }
            if (max <= mas[i][j]){
                max = mas[i][j];
                mj = j;
            }
        }
 
    
 
    // Вывод
    for(int i = 0; i < 5; i++){
        for(int j = 0; j < 5; j++)
            cout << mas[i][j] << " ";
        cout << endl;
    }   
 
    // Меняем мастами
    for (int j = 0, i = 0; j < 5, i < 5; j++, i++){
        int temp = mas[j][mj];
        mas[j][mj] = mas[i][nj];
        mas[i][nj] = temp;
    }
 
    cout << endl << endl;
    // Вывод
    for(int i = 0; i < 5; i++){
        for(int j = 0; j < 5; j++)
            cout << mas[i][j] << " ";
        cout << endl;
    }   
 
    cin.get();
    return 0;
}
Genn55
341 / 188 / 37
Регистрация: 26.12.2012
Сообщений: 658
19.12.2013, 23:33     Поменять местами столбцы с максимальным и минимальным элементами в матрице #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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <iostream>
#include <ctime>
#include <cstdlib>
#include <iomanip>
 
int main()
{
    using namespace std;
    int n=5,m = 5;
    int mas[n][m];
 
    srand(time(NULL));
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < m; j++)
            {
                mas[i][j] = rand() % 100;
                cout << mas[i][j] << "\t";
            }
            cout<<"\n";
    }
    int min = mas[0][0], max = mas[0][0];
    int ind_min = 0,ind_max = 0;
 
    for(int i = 0; i < n; i++)
        for(int j = 0; j < m; j++)
        {
            if (min >= mas[i][j])
            {
                min = mas[i][j];
                ind_min = j;
            }
            if (max <= mas[i][j]){
                max = mas[i][j];
                ind_max = j;
            }
        }
  cout << "  Min = "<< min<< "  Max = "<<max <<"\n";
    // Меняем мастами
    for (int i = 0; i < n;i++){
        int temp = mas[i][ind_max];
        mas[i][ind_max] = mas[i][ind_min];
        mas[i][ind_min] = temp;
    }
    cout << "\n\n";
    // Вывод
    for(int i = 0; i < n; i++){
        for(int j = 0; j < m; j++)
            cout << mas[i][j] << "\t";
        cout << endl;
    }
    return 0;
}
Yandex
Объявления
19.12.2013, 23:33     Поменять местами столбцы с максимальным и минимальным элементами в матрице
Ответ Создать тему
Опции темы

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