Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.64/25: Рейтинг темы: голосов - 25, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 25.09.2018
Сообщений: 69
1

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

03.02.2019, 11:06. Просмотров 4618. Ответов 1
Метки нет (Все метки)

Дан двумерный массив. Нужно произвести сортировку столбцов по убыванию элементов последней строки.
1 2 3
4 5 6
8 7 9
-----
3 1 2
6 4 5
9 7 8
В этом виде.
Вот сам код:
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<time.h> 
using namespace std;
int main()
{
    setlocale(0, "");
    srand(time(NULL));
    const int str = 5;
    const int stolb = 5;
    int mas[str][stolb];
    int i, j, a, c, temp, x, z, b;
    cout << "До сортировки:\n";
    for (i = 0; i < str; i++) \\ двумерный массив
    {
        for (j = 0; j < stolb; j++)
        {
            a = rand() % 20;
            mas[i][j] = a;
            cout << mas[i][j] << "\t";
        }
        cout << "\n";
    }
    cout << "\n";
    for (c = 0; c <= (str*stolb); c++) \\ сортировка 
    {
        for (i = 4; i < str; i++)
        {
            for (j = 0; j < stolb - 1; j++)
            {
                if (mas[i][j + 1] > mas[i][j])
                {
                    temp = mas[i][j];
                    mas[i][j] = mas[i][j + 1];
                    mas[i][j + 1] = temp;
                }
            }
        }
    }
    cout << "После сортировки по возрастанию:\n";
    for (i = 0; i < str; i++)
    {
        for (j = 0; j < stolb; j++)
        {
            cout << mas[i][j] << "\t";
        }
        cout << "\n";
    }
    int sum = 0; // Найти диоганаль
    for (i = 0; i < str; i++)   
        sum += mas[i][i];
    cout << "Doljno :) :" << sum << endl;
    system("pause");
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.02.2019, 11:06
Ответы с готовыми решениями:

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

Сортировка столбцов матрицы по возрастанию элементов последней строки
Дан двумерный массив. Нужно произвести сортировку столбцов по возрастанию элементов последней...

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

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

1
1463 / 928 / 808
Регистрация: 30.04.2016
Сообщений: 3,215
03.02.2019, 21:43 2
Лучший ответ Сообщение было отмечено llis58 как решение

Решение

llis58, здравствуйте! Вот решение:

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
/*
Дан двумерный массив. Нужно произвести сортировку столбцов по убыванию элементов последней строки.
*/
 
#include <iostream>
 
    using namespace std;
 
int main() {
    int n;
    cout << "Enter a matrix size:\n";
    cout << "n = ";
    cin >> n;
    double** a = new double*[n];
    for (int i = 0; i < n; i++) {
        a[i] = new double[n];
    }
    cout << "Enter a matrix:\n";
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
            cin >> a[i][j];
        }
    }
    for (int i = 0; i < n; i++) {
        for (int j = n - 1; j > i; j--) {
            if (a[n-1][j] > a[n-1][j-1]) {
                for (int i = 0; i < n; i++) {
                    swap(a[i][j], a[i][j-1]);
                }
            }
        }
    }
    cout << "Output of the program:\n";
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
            cout.width(3);
            cout << a[i][j] << " ";
        }
        cout << "\n";
    }
    for (int i = 0; i < n; i++) {
        delete [] a[i];
    }
    delete [] a;
    return 0;
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.02.2019, 21:43

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

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

Упорядочить элементы столбцов матрицы по убыванию, а столбцы по убыванию модуля произведения четных элементов столбцов
На контрольной дали задачу. Не знаю как написать. Помогите!:help: Дана матрица действительных...

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.