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

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

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

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


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
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.11.2019, 19:36
Ответы с готовыми решениями:

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

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

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

11
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
11.11.2019, 19:45
Лучший ответ Сообщение было отмечено 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
Мозгоправ
 Аватар для L0M
1745 / 1039 / 468
Регистрация: 01.10.2018
Сообщений: 2,138
Записей в блоге: 2
11.11.2019, 19:47
Цитата Сообщение от KRISS2001BOOM Посмотреть сообщение
Отсортировать по убыванию все строки матрицы.
Как предполагается определять отношение порядка между строками матрицы? Т.е. какая строка меньше.
По первому элементу? По сумме элементов? Или ещё как?
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
11.11.2019, 19:51
L0M, не нужно ничего определять. каждая строка сортируется по убыванию.
1
Мозгоправ
 Аватар для L0M
1745 / 1039 / 468
Регистрация: 01.10.2018
Сообщений: 2,138
Записей в блоге: 2
11.11.2019, 20:57
Цитата Сообщение от Yetty Посмотреть сообщение
не нужно ничего определять. каждая строка сортируется по убыванию.
Вы имеете ввиду, что нужно просто сортировать по убыванию значения в строках? Тогда, да, всё просто.
Но в задании написано, что нужно сортировать строки, а не значения в строках.
Ау, KRISS2001BOOM, что всё-таки надо сделать?
1
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
11.11.2019, 22:05
Цитата Сообщение от L0M Посмотреть сообщение
Но в задании написано, что нужно сортировать строки, а не значения в строках
это обычная формулировка, например отсортировать строку по убыванию - значит расположить её значения последовательно, от большего к меньшему
0
Мозгоправ
 Аватар для L0M
1745 / 1039 / 468
Регистрация: 01.10.2018
Сообщений: 2,138
Записей в блоге: 2
11.11.2019, 23:59
Yetty, ну да... А если это двумерный массив символов? Т.е. строки массива еще и строки из букав. Тогда вы что сортировать будете? Строки или символы в строках? Думаю, что строки. Поскольку в обоих случаях вы исходите из здравого смысла. Задача должна быть сформулирована так, что бы не нужно было додумывать, привлекая здравый смысл, интуицию, телепатию и пр.

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

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

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

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

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

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

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

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

Добавлено через 1 минуту
L0M, как поняла, надо отсортировать элементы в каждой строке массива по убыванию
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.11.2019, 05:14
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru