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

Как запоминать и выводить элементы массива, которые нужно поменять местами при сортировке выбором?

19.10.2019, 21:57. Показов 1554. Ответов 1
Метки нет (Все метки)

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


C++ (Qt)
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
[CPPQT]#include <iostream>
#include <stdio.h>
#include <conio.h> 
#include <Windows.h>
#include <math.h>
#include <ctime>
 
using namespace std;
 
 
 
 
int main(int argc, char* argv[])
 
{
    
 
    const int N = 10;
    int mas[N] = { 10, 9, 8, 7, 6, 5, 4, 3, 2 ,1 };
    int tmp = 0;
    
    for (int i = 0; i < N; i++) {
        cout << mas[i] << " ";
    } 
    cout << endl;
    
    for (int i = 0; i < N - 1; i++) {
        
        int min_ind = i;
 
        for (int j = i; j < N; j++) {
            if (mas[j] < mas[min_ind]) {
 
                min_ind = j;
 
            }
 
        } 
 
        if (i != min_ind) {
            tmp = mas[i];
            mas[i] = mas[min_ind];
            mas[min_ind] = tmp;
        }
        for (int j = 0; j < N; j++) {
            
            cout << mas[j] << " ";
        }
        cout << endl;
    }
    
    
    
 
    
 
 
    system("pause");
 
    return 0;
 
}
[/CPPQT]
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.10.2019, 21:57
Ответы с готовыми решениями:

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

поменять местами элементы массива при условии
Ниже представлен мой код,в комментариях написал как работает программа. Работает правильно-из...

При помощи указателей найти и поменять местами элементы массива
Использование указателей на массивы, работа со строками. Вариант № 11 1.В массиве М(45) лежат...

Как поменять элементы массива местами?
Как отсортировать массив чисел по возрастанию? пересмотрел кучу примеров и все равно ничего не...

1
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
19.10.2019, 23:58 2
Лучший ответ Сообщение было отмечено OG OG как решение

Решение

OG OG, там на последних шагах происходят лишние обмены, возможно можно оптимизировать
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
#include <iostream> 
using namespace std;
    
int main(int argc, char* argv[]) 
{    
    const int n=10;
    int a[n] = { 9, 7, 2, 4, 6, 1, 10, 8, 5, 3 }, min_idx=0;
    
    for (int i = 0; i < n; i++)             
        cout << a[i] << " ";        
        cout << "\n";
    
    for (int i = 0; i < n - 1; i++) 
    {        
        min_idx=i;
 
        for (int j = i + 1; j < n; j++) 
        if (a[j] < a[min_idx]) min_idx=j;
        
        cout << a[min_idx] << "  " << a[i] << "\n"; 
        swap(a[min_idx], a[i]);        
    
    for (int i = 0; i < n; i++)             
        cout << a[i] << " ";        
        cout << "\n";
    }
    
system("pause");
return 0; 
}
1
19.10.2019, 23:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.10.2019, 23:58
Помогаю со студенческими работами здесь

Как найти минимальный элемент массива, и как поменять местами чётные и нечётные элементы массива
Как найти минимальный элемент массива, и как поменять местами чётные и нечётные элементы массива

Поменять местами первый и последний элементы массива при строгом чередовании элементов
дан одномерный числовой массив, состоящий из известного количества элементов. Для этого массива...

Как поменять местами элементы массива объектов?
Как поменять местами элементы массива объектов?

Как поменять местами элементы массива структур?
В ходе решения задачи возникла проблема: необходимо поменять местами элементы массива записей. Как...


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

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