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

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

04.05.2022, 09:57. Показов 934. Ответов 3

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
44
45
46
47
48
49
50
51
52
53
54
#include <iostream>
using namespace std;
#define n 5
#define m 6
void FuncA(int A[n][m]) {
    int i, j, k, sum = 0, sum1 = 0;
    int tmp = 0, i1, j1;
    for (i = 0; i < n-1; i++) {
        sum = 0;
        for (j = 0; j < m; j = j++) {
            if(A[i][j]%2!=0)
            sum = sum + A[i][j];
        }
        for (i1 = i+1; i1 < n; i1++) {
            sum1 = 0;
            for (j1 = 0; j1 < m; j1++) {
                if (A[i1][j1] % 2 != 0)
                sum1 = sum1 + A[i1][j1];
            }
            if (sum1 > sum) {
                sum = sum1;
                k = i1;
            }
        }
        for (j = 0; j < m; j++) {
            tmp = A[i][j];
            A[i][j] = A[k][j];
            A[k][j] = tmp;
        }
    }
    cout<<endl<<"new A = ";
    for (i = 0; i < n; i++) {
        for (j = 0; j < m; j++) {
            cout<< A[i][j] << " ";
        }
        cout<<endl;
    }
}
 
int main()
{
    int A[n][m];
    int i, j;
    srand(time(NULL));
    cout<<"A=";
    for (i = 0; i < n; i++) {
        for (j = 0; j < m; j++) {
            A[i][j] = rand() % 10;
            cout<< A[i][j] << " ";
        }
        cout<<endl;
    }
    FuncA(A);
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.05.2022, 09:57
Ответы с готовыми решениями:

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

Отсортировать по сумме нечетных и отрицательных элементов строк матрицы по возрастанию
есть код #include &lt;windows.h&gt; #include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt;...

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

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

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

3
403 / 261 / 167
Регистрация: 13.01.2021
Сообщений: 1,162
04.05.2022, 10:15 2
AKolesnikova, опишите как должна быть сортировка по типу
C++
1
2
3
1 -1 4 -5
Выходит
4 1 -1 -5
0
0 / 0 / 0
Регистрация: 04.05.2022
Сообщений: 4
04.05.2022, 11:42  [ТС] 3
ну то есть сначала нужно посчитать сумму нечётных элементов в строке и затем переставить строки от самой большой суммы к маленькой, например вот так
C++
1
2
3
4
5
A[n][m]={ 1 2 3
5 6 7};
после сортировки должны выйти 
A[n][m]={5 6 7
1 2 3};
0
403 / 261 / 167
Регистрация: 13.01.2021
Сообщений: 1,162
04.05.2022, 12:12 4
Лучший ответ Сообщение было отмечено AKolesnikova как решение

Решение

AKolesnikova,
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
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <Windows.h>
using namespace std;
#define N 5
#define M 6
void SortRows(int A[N][M]){
    int* sum = new int[N]{0};
    for(int i = 0; i < N; ++i){
        for(int j = 0; j < M; ++j){
            if(A[i][j] < 0)
            sum[i] += A[i][j];
        }
    }
    for(int i = 0; i < N; ++i){
        cout << "Сумма " << i << " ряда : " << sum[i] << endl;
    }
    for(int i = 0; i < N - 1; ++i){
        for(int j = i + 1; j < N; ++j){
            if(sum[i] > sum[j]){
                swap(sum[i], sum[j]);
                swap(A[i], A[j]);
            }
        }
    }
    delete[] sum;
}
void Print(int A[N][M]){
    for (int i = 0; i < N; i++){
        for (int j = 0; j < M; j++){
            cout << A[i][j] << " ";
        }
        cout << endl;
    }
}
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    int A[N][M];
    srand(time(NULL));
    cout << "Матрица А: " << endl;
    for (int i = 0; i < N; i++) {
        for (int j = 0; j < M; j++) {
            A[i][j] = rand() % 21 - 10;
            cout << A[i][j] << " ";
        }
        cout << endl;
    }
    SortRows(A);
    cout << "Отсториторванная матрица по отрицательной сумме каждого ряда(от меньше к больше): " << endl;
    Print(A);
    return 0;
}
Добавлено через 43 секунды

Не по теме:

AKolesnikova, напишите мне в Лс

0
04.05.2022, 12:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.05.2022, 12:12
Помогаю со студенческими работами здесь

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

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

Упорядочить элементы строк матрицы по неубыванию, а сами строки по убыванию минимальных элементов строк
Дана матрица a Упорядочить элементы строк матрица по неубываниюа сами строки по убыванию...

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

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


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

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