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

Отсортировать методом выбора массив

06.05.2017, 12:06. Показов 485. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеется массив размерностью NxN, где N = 9. Отсортировать
методом выбора так, чтобы элементы в них располагались по возрастанию.
Помогите доработать код. выводит в строки, нужно в столбцы.(если можно в ответ целиковый код, а то не понимаю что и куда.)
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
59
60
61
62
63
64
65
66
67
68
#include <iostream>
#include <cstdlib>
#include <iomanip>
 
using namespace std;
 
const int N = 9*9;
 
void My_sort(int a[], int left = 0, int right = N - 1) {
 
    int m = a[(left + right) / 2];
    int l = left;
    int r = right;
    do {
 
        while (a[l] < m)
            ++l;
        while (a[r] > m)
            --r;
 
        if (l <= r) {
 
            if (a[l] > a[r]) {
                int buf = a[l];
                a[l] = a[r];
                a[r] = buf;
            }
 
            ++l;
            --r;
        }
    } while (l <= r);
 
    if (l < right)
        My_sort(a, l, right);
    if (left < r)
        My_sort(a, left, r);
}
 
int main() {
 
    int a[N][N];
 
    cout << setw(2 * N) << "massiv";
    cout << " |";
    cout << setw(2 * N) << "izmenen massiv";
    cout << " |" << endl;
    for (int i = 0; i < 2 * (N + 1); ++i)
        cout << "--";
    cout << endl;
 
    for (int i = 0; i < N; ++i) {
 
        for (int j = 0; j < N; ++j) {
 
            a[i][j] = rand() % 10;
            cout << setw(2) << a[i][j];
        }
        cout << " |";
 
        My_sort(a[i]);
        for (int j = 0; j < N; ++j) {
            cout << setw(2) << a[i][j];
        }
        cout << " |" << endl;
        system("pause");
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.05.2017, 12:06
Ответы с готовыми решениями:

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

Отсортировать массив методом выбора
привет, помогите пожалуйста ... нужно отсортировать массив методом выбора (12 элем.) ... ...

Отсортировать одномерный массив методом простого выбора
Отсортировать одномерный массив методом простого выбора, с помощью ввода случайных чисел #include...

Отсортировать массив по возрастанию элементов методом выбора
M(n) – массив вещественных чисел.Отсортировать массив по возрастанию элементов методом выбора.

1
142 / 143 / 64
Регистрация: 11.11.2010
Сообщений: 876
Записей в блоге: 10
06.05.2017, 14:40 2
C++
1
const int N = 9*9;
C++
1
    int a[N][N];
У Вас будет массив 81х81.

Это
Кликните здесь для просмотра всего текста
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
void My_sort(int a[], int left = 0, int right = N - 1) {
 
    int m = a[(left + right) / 2];
    int l = left;
    int r = right;
    do {
 
        while (a[l] < m)
            ++l;
        while (a[r] > m)
            --r;
 
        if (l <= r) {
 
            if (a[l] > a[r]) {
                int buf = a[l];
                a[l] = a[r];
                a[r] = buf;
            }
 
            ++l;
            --r;
        }
    } while (l <= r);
 
    if (l < right)
        My_sort(a, l, right);
    if (left < r)
        My_sort(a, left, r);
}

быстрая обменная сортировка, а не выбором, причём неправильная.
0
06.05.2017, 14:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.05.2017, 14:40
Помогаю со студенческими работами здесь

Отсортировать массив по возрастанию элементов методом выбора
M(n) – массив вещественных чисел.Отсортировать массив введенных чисел по возрастанию элементов...

Отсортировать массив модифицированным методом простого выбора.
Помогите пожалуйста! Отсортировать массив модифицированным методом простого выбора.

Отсортировать (по неубыванию) методом прямого выбора массив целых чисел A[n], n> 100. Массив заполнить случайным образом
Во втором button сортировка не работает. Помогите( ...

Отсортировать по возрастанию массив 10 целых чисел методом выбора
Привет всем, помогите пожалуйста подготовиться к экзамену по информитикы !! 1. Задача....

Отсортировать по возрастанию массив 10 целых чисел методом выбора
Опишите алгоритм решения задач на языке программирования C ++. Отсортировать по возрастанию массив...

С++ что не так? (Отсортировать массив методом выбора элементов и вывести)
#include &quot;stdafx.h&quot;; #include &quot;iostream&quot; using namespace std; void main () { setlocale (0,...


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

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