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

Двумерный массив: поменять местами две строки - C++

Восстановить пароль Регистрация
 
lesha 13
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 20
15.05.2014, 22:29     Двумерный массив: поменять местами две строки #1
В матрице из целых положительных чисел поменять местами две строки: строка,
которая содержит максимальный элемент матрицы, и строку, содержащую минимальный
элемент матрицы.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2014, 22:29     Двумерный массив: поменять местами две строки
Посмотрите здесь:

Дана матрица....как поменять местами две строки? C++
Двумерный массив.Мах и Мин поменять местами... C++
C++ Дан двумерный массив. Поменять местами 1 и 3 строки
C++ 10. Разработать функцию, позволяющую поменять местами две произвольные строки двухмерного массива
C++ Разработать функцию, позволяющую поменять местами две произвольные строки двухмерного массива
Двумерный массив: поменять местами две строки C++
C++ 1) В матрице A поменять местами две строки с заданными номерами
Поменять местами две средние строки матрицы с первой и последней C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Андрей2002
4 / 4 / 2
Регистрация: 20.04.2014
Сообщений: 64
16.05.2014, 01:37     Двумерный массив: поменять местами две строки #2
Вот написал по быстрому, заполнение случайными положительными числами от 1 до 100 ну и соответственно решение твоей задачи
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
64
65
#include <iostream>
#include <stdio.h> 
#include <stdlib.h>     
#include <time.h>   
 
using namespace std;
int main(){
    setlocale(0, "");
    int size1, size2, mass[100][100], tmp, max = 0, min = 0, max_pos, min_pos;
    cout << "Введите размерность матрицы: "; cin >> size1; cin >> size2;
    srand(time(NULL));
    /* Заполняем матрицу положительными числами */
    for (int i = 0; i < size1; i++){
        for (int j = 0; j < size2; j++){
            mass[i][j] = rand() % 100 + 1;
        }
    }
    for (int i = 0; i < size1; i++){
        for (int j = 0; j < size2; j++){
            max -= mass[i][j];
            min += mass[i][j];
            cout << " " << mass[i][j];
            if (j + 1 == size2){
                cout << endl;
            }
        }
    }
 
    for (int i = 0; i < size1; i++){
        for (int j = 0; j < size2; j++){
            if (max < mass[i][j]){
                max_pos = i;
                max = mass[i][j];
            }
            if (min > mass[i][j]){
                min_pos = i;
                min = mass[i][j];
            }
        }
    }
    cout << "Минимум: " << min << " в строке " << min_pos+1 << endl
        << "Максимум: " << max << " в строке " << max_pos+1 << endl;
    if (min_pos != max_pos){
        cout << "Меняем местами строки " << min_pos+1 << " и " << max_pos+1 << endl;
        for (int j = 0; j < size2; j++){
            tmp = mass[min_pos][j];
            mass[min_pos][j] = mass[max_pos][j];
            mass[max_pos][j] = tmp;
        }
        for (int i = 0; i < size1; i++){
            for (int j = 0; j < size2; j++){
                cout << " " << mass[i][j];
                if (j + 1 == size2){
                    cout << endl;
                }
            }
        }
 
    }
    else{
        cout << "Числа находятся в 1й строке, строки нет смысла менять местами" << endl;
    }
    system("pause >> void");
    return 0;
}
Yandex
Объявления
16.05.2014, 01:37     Двумерный массив: поменять местами две строки
Ответ Создать тему
Опции темы

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