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

Сортировка методом выбора в матрице

21.05.2018, 19:54. Показов 741. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дана матрица размерностью пхп, содержащая целые числа. Отсортировать: диагонали матрицы параллельные главной по убыванию
Прошу помощи

Добавлено через 9 часов 56 минут
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
#include <iostream>
#include <ctime>
using namespace std;
 
void sort(int** val, int n) {// Массив указателей см. строку 33
    for (int i = 1; i < n; i++) {
        int j = i;
        while (j > 0 && *val[j] > *val[j - 1]) {
            int temp = *val[j];
            *val[j] = *val[j - 1];
            *val[j - 1] = temp;
            j--;
        }
    }
}
 
int main() { //main
    int n;
    cout << "razmernost matrix" << endl;
    cin >> n;
        int** val = new int*[n];
        for (int i = 0; i < n; i++) {
            val[i] = new int[n];
            for (int j = 0; j < n; j++) {
                cin >> val[i][j];
            }
        }
        cout << endl << endl;
 
    for (int i = 1; i < n; i++) {//Всё что под главной диагональю и она сама
        int j = 0;
        int** mass = new int*[n - i];//Массив указателей, чтобы после сортировки заного не заполнять матрицу. Размер высчитывается правильно
        int index = 0;
        int k = i;
        while (k < n && j < n) {
            mass[index++] = &val[k++][j++];//Тут беру указатель на значение
        }
        sort(mass, n - i);//Сортируем и не паримся о вставке в матрицу
    }
 
    for (int i = 1; i < n; i++) {//Всё что выше главной диагонали
        int j = 0;
        int** mass = new int*[n - i];//Массив указателей, чтобы после сортировки заного не заполнять матрицу. Размер высчитывается правильно
        int index = 0;
        int k = i;
        while (k < n && j < n) {
            mass[index++] = &val[j++][k++];//Тут беру указатель на значение
        }
        sort(mass, n - i);//Сортируем и не паримся о вставке в матрицу
    }
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++)
            cout << val[i][j] << ' ';
        cout << '\n';
    }
    system("Pause");
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.05.2018, 19:54
Ответы с готовыми решениями:

Сортировка методом выбора и методом пузырьков
Доброго времени суток, форумчане). Я не спец в программировании, сразу говорю). Нам с другом дали...

Отсортировать столбцы в двумерной матрице методом выбора
в двумерной матрице отсортировать столбцы методом выбора

Сортировка методом выбора
Задание: программа, сортирующая случайно сгенерированный список из 10 чисел методом выбора....

Сортировка методом выбора С++
не подскажите что не так в программе #include &lt;iostream.h&gt; #include &lt;stdlib.h&gt; int n=15; float...

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

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

Сортировка методом выбора
Здравствуйте! Подскажите пожалуйста как сортировкой методом выбора посчитать количество обменов...

Сортировка методом выбора в C++
Сортировать численные значения по значению абсолютной величины методом выбора в C++ Где ошибка? ...

Сортировка методом выбора
Ребят помогите. нужно сортирнуть по возростанию средней оценки студентов методом выбора. #include...


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

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