Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/29: Рейтинг темы: голосов - 29, средняя оценка - 4.79
1 / 1 / 0
Регистрация: 11.11.2019
Сообщений: 11
1

Сортировка по убыванию всех строк матрицы

11.11.2019, 19:36. Показов 5308. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет) Изучаю с++ только третий месяц и вот встала такая задача:
Нужно создать двумерный массив, используя функции, заполнить его рандомными числами и самое важное: Отсортировать по убыванию все строки матрицы.
Массив я создала, но вот с сортировкой никак справиться не могу((
Помогите пожалуйста, очень нужно сотворить данное в очень краткие сроки.
Вот что уже имеется:


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
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
 
void arrprint(int** arr, int size_n, int size_m) {
    for (int i = 0; i < size_m; i++) {
        for (int j = 0; j < size_n; j++) {
            cout << arr[i][j] << ' ' << '\t';
        }
        cout << endl;
    }
}
void made(int** arr, int size_n, int size_m) {
 
    for (int i = 0; i < size_m; i++)
        for (int j = 0; j < size_n; j++) {
            arr[i][j] = rand() % 100 - 10;
        }
}
 
int main()
{
    srand(time(NULL));
    setlocale(LC_ALL, "Rus");
    int str_n, stl_m;
    cout << "Введите количество столбцов: ";
    cin >> str_n;
    cout << "Введите количество строк: ";
    cin >> stl_m;
    int** arr = new int* [stl_m];
    for (int i = 0; i < stl_m; i++)
        arr[i] = new int[str_n];
    made(arr, str_n, stl_m);
    arrprint(arr, str_n, stl_m);
 
    for (int i = 0; i < stl_m; i++) delete[] arr[i];
    delete[] arr;
    
 
 
    return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.11.2019, 19:36
Ответы с готовыми решениями:

Сортировка строк матрицы по убыванию
Помогите пожалуйста написать функцию. Например, была матрица 10 11 12 13 20 21 22 23 30 31 32 33...

Сортировка элементов строк матрицы по убыванию
Вот что есть ввод и вывод динамического массива. #include &lt;iostream.h&gt; #include &lt;iomanip.h&gt;...

Сортировка четных строк матрицы по возрастанию, а нечетных - по убыванию
Здравствуйте! Есть задача: отсортировать чётные строки массива А по возрастанию, а нечётные по...

Сортировка строк матрицы по убыванию элементов первого столбца
В общем проблема такая:мне нужно первый столбец упорядочить по убыванию, при этом чтобы строки...

11
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
11.11.2019, 19:45 2
Лучший ответ Сообщение было отмечено KRISS2001BOOM как решение

Решение

KRISS2001BOOM, напишите оригинал условия задачи

отсортировать можно так:
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
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
 
void Random (double** a, int n, int m)
{
    for (int i = 0; i < n; i++)        
        for (int j = 0; j < m; j++)        
            a[i][j]=rand()%9 + 1;           
}
    
void SortRows (double** a, int n, int m) 
{      
    for (int i = 0; i < n; i++)    
        for (int j = 0; j < m-1; j++)    
            for (int k = 0; k < m-j-1; k++)        
                if (a[i][k] < a[i][k+1])                
                   swap(a[i][k],a[i][k+1]);    
}  
 
void Print (double** a, int n, int m)
{
    for (int i = 0; i < n; i++) 
    {
        for (int j = 0; j < m; j++)        
        cout << a[i][j] << " ";        
    cout << "\n";            
    }    
}
                
int main()
{       
    srand((int)time(0)); 
    int n, m;
    cout <<"n="; cin >>n;
    cout <<"m="; cin >>m;
 
    double **a = new double* [n]; 
    for (int i = 0; i < n; i++)
        a[i] = new double [m];
 
    Random(a,n,m);
    cout << "Matrix:\n";
    Print(a,n,m);
    cout << "Sorted matrix:\n";
    SortRows (a, n, m);                
    Print(a,n,m);
    
    for (int i = 0; i < n; i++)
    delete [] a[i];
    delete [] a;
 
system("pause");
return 0;
}
сначала вводите количество строк, потом - количество столбцов
1
Мозгоправ
1744 / 1038 / 468
Регистрация: 01.10.2018
Сообщений: 2,138
Записей в блоге: 2
11.11.2019, 19:47 3
Цитата Сообщение от KRISS2001BOOM Посмотреть сообщение
Отсортировать по убыванию все строки матрицы.
Как предполагается определять отношение порядка между строками матрицы? Т.е. какая строка меньше.
По первому элементу? По сумме элементов? Или ещё как?
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
11.11.2019, 19:51 4
L0M, не нужно ничего определять. каждая строка сортируется по убыванию.
1
Мозгоправ
1744 / 1038 / 468
Регистрация: 01.10.2018
Сообщений: 2,138
Записей в блоге: 2
11.11.2019, 20:57 5
Цитата Сообщение от Yetty Посмотреть сообщение
не нужно ничего определять. каждая строка сортируется по убыванию.
Вы имеете ввиду, что нужно просто сортировать по убыванию значения в строках? Тогда, да, всё просто.
Но в задании написано, что нужно сортировать строки, а не значения в строках.
Ау, KRISS2001BOOM, что всё-таки надо сделать?
1
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
11.11.2019, 22:05 6
Цитата Сообщение от L0M Посмотреть сообщение
Но в задании написано, что нужно сортировать строки, а не значения в строках
это обычная формулировка, например отсортировать строку по убыванию - значит расположить её значения последовательно, от большего к меньшему
0
Мозгоправ
1744 / 1038 / 468
Регистрация: 01.10.2018
Сообщений: 2,138
Записей в блоге: 2
11.11.2019, 23:59 7
Yetty, ну да... А если это двумерный массив символов? Т.е. строки массива еще и строки из букав. Тогда вы что сортировать будете? Строки или символы в строках? Думаю, что строки. Поскольку в обоих случаях вы исходите из здравого смысла. Задача должна быть сформулирована так, что бы не нужно было додумывать, привлекая здравый смысл, интуицию, телепатию и пр.

Но похоже, что наша вялая дискуссия имеет чисто академический характер. Сдаётся, что ТС забил на свой вопрос.
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
12.11.2019, 00:06 8
Цитата Сообщение от L0M Посмотреть сообщение
А если это двумерный массив символов?
при чём здесь символы ?
Цитата Сообщение от KRISS2001BOOM Посмотреть сообщение
создать двумерный массив, ... заполнить его рандомными числами
0
Мозгоправ
1744 / 1038 / 468
Регистрация: 01.10.2018
Сообщений: 2,138
Записей в блоге: 2
12.11.2019, 01:30 9
Цитата Сообщение от Yetty Посмотреть сообщение
при чём здесь символы ?
При том, что вы додумываете условие задачи, исходя из здравого смысла.

А символы - это те же числа. Не?

Только если вам говорят "двухмерный массив символов", у вас срабатывает здравый смысл, и вы уже думаете о массиве С-строк. Может даже с завершающими нулями.

А если вам говорят "двухмерный массив знаковых чисел; размер числа 1 байт", то здравый смысл подсказывает, что это таки числа, и вы думаете уже о матрице.

Чувствуете разницу?
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
12.11.2019, 01:39 10
L0M, условие задачи предельно ясно, и не стоит что-то дополнительно придумывать. решение уже дано в сообщении №2. предлагаю на этом дискуссию завершить.
0
Мозгоправ
1744 / 1038 / 468
Регистрация: 01.10.2018
Сообщений: 2,138
Записей в блоге: 2
12.11.2019, 01:45 11
Цитата Сообщение от Yetty Посмотреть сообщение
условие задачи предельно ясно
Если бы оно было предельно ясно, дискуссии не возникло бы вообще.
Цитата Сообщение от Yetty Посмотреть сообщение
и не стоит что-то дополнительно придумывать
И я о том же. Только мы о разном.
0
1 / 1 / 0
Регистрация: 11.11.2019
Сообщений: 11
12.11.2019, 05:14  [ТС] 12
Как я поняла, да и как сказали вроде, нужно именно отсортировать значения во всех строках матрицы по убыванию.
А задание само и звучит так: Сортировка по убыванию всех строк матрицы. Одно указать забыла. Нужно использовать функции

Добавлено через 6 минут
Как я поняла, просят отсортировать элементы в каждой строке матрицы по убыванию.

Добавлено через 6 минут
Я не забила на задание, просто еще и плохо разобралась в самом форуме, с телефона не очень удобно

Добавлено через 26 минут
Yetty, спасибо огромное, очень выручили)) Благодарна очень, слов нет)

Добавлено через 1 минуту
L0M, как поняла, надо отсортировать элементы в каждой строке массива по убыванию
0
12.11.2019, 05:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.11.2019, 05:14
Помогаю со студенческими работами здесь

Сортировка строк матрицы по убыванию
Сортировка строк матрицы по убыванию Задание было такое, отсортировать по убыванию каждую строку...

Сортировка строк матрицы по убыванию
Помогите пожалуйста кто-нибудь с программой. Она работает, но неправильно. Мне нужно отсортировать...

Сортировка строк матрицы по убыванию значений элементов
1. Получить одномерный массив состоящий из сумм элементов, превосходящих по значению заданное...

Сортировка матрицы по убыванию модулей произведений элементов строк
Всем привет. В лабораторной работе нужно написать программу, которая упорядочивает строки...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru