0 / 0 / 0
Регистрация: 04.03.2018
Сообщений: 31
1

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

07.05.2018, 22:26. Показов 3722. Ответов 7
Метки нет (Все метки)

Выполнить сортировку одномерного массива по возрастанию методом простого обмена
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.05.2018, 22:26
Ответы с готовыми решениями:

Выполнить сортировку одномерного массива X(100) методом Шелла
задание: Выполнить сортировку одномерного массива X(100) методом Шелла. В отсортированном...

Выполнить сортировку одномерного массива X(100) методом Шейкера.
Выполнить сортировку одномерного массива X(100) методом Шейкера. В отсортированном одномерном...

Выполнить сортировку одномерного массива X(100) методом вычисления адреса
Разобрался наконец с заданием...оно звучит так как в заголовке...сортировка вычислением адреса

Выполнить сортировку одномерного массива X(100) методом бинарных вставок
Здравствуйте уважаемые пользователи форума, прошу составить программу в с++ просто нужно сдать...

7
587 / 407 / 203
Регистрация: 10.06.2016
Сообщений: 1,912
08.05.2018, 10:51 2
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
#include <cstdlib> // для system
#include <iostream> 
#include <string>
 
using std::cout;
using std::cin;
using std::endl;
 
int main()
{    
        double *a = new double [],tmp;
        int i,j,n;
        setlocale(0, "");
                cout << "Введите количество элементов массива n=" ;
                cin >> n;
                cout <<"Исходный массив"<<endl ;
                for ( i = 0; i < n; i++) 
                        {
                                a[i]= 0.001*rand();
                cout <<a[i]<<endl ;
 
                        }
                        for ( i = 0; i < n-1; i++) 
                        {
                        for ( j = i+1; j < n; j++) 
                            if(a[i]>a[j])
                            {
                            tmp=a[i];
                            a[i]=a[j];
                            a[j]=tmp;
                            }
                        }
                cout <<"Отсортированный массив"<<endl ;
 
                for ( i = 0; i < n; i++) 
                cout <<a[i]<<endl ;
 
                           delete [] a;
 
    system("pause"); // Только для тех, у кого MS Visual Studio
}
0
80 / 81 / 48
Регистрация: 12.10.2013
Сообщений: 1,079
08.05.2018, 22:22 3
slava_psk,что в вашем коде означает
C++
1
, tmp
?
0
0 / 0 / 0
Регистрация: 04.03.2018
Сообщений: 31
09.05.2018, 12:33  [ТС] 4
slava_psk, А можно в динамическом массиве с try и catch
0
587 / 407 / 203
Регистрация: 10.06.2016
Сообщений: 1,912
10.05.2018, 08:35 5
Сергей1112444, tmp - переменная для временного хранения.
0
80 / 81 / 48
Регистрация: 12.10.2013
Сообщений: 1,079
21.05.2018, 16:29 6
Если ещё актуально,и кому то пригодится ,то вот как вариант 2 :

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
int main()
{
    setlocale(LC_ALL,"russian");
 
    int Arr[] = {4,6,3,5,2,-12,10};
    const int countArr = sizeof(Arr)/sizeof(Arr[0]);//Дурь конечно(Но это теперь количество элементов в Arr[]) 
    //int ArrSORT[countArr];
 
    cout<<"Массив  :";
    int  NumbCheck = 0,NumbComand = 0;
    for(int i = 0 ;i < countArr; ++i)
    {
      cout<<Arr[i]<<",";
    }
    cout<<"\n";
 
    cout<< "Отсортированный массив  :";
    for(int i = 0;i < countArr; ++i)
    {
        //NumbComand =i; cout<<NumbComand<<",";
        //NumbComand++;cout<<NumbComand<<",";
        if (Arr[0] > Arr[i]) { NumbCheck = Arr[0]; Arr[0] = Arr[i]; Arr[i] = NumbCheck; }
       
        if (Arr[1] > Arr[i]) { NumbCheck = Arr[1]; Arr[1] = Arr[i]; Arr[i] = NumbCheck; }
             
        if (Arr[2] > Arr[i]) { NumbCheck = Arr[2]; Arr[2] = Arr[i]; Arr[i] = NumbCheck; }
           
        if (Arr[3] > Arr[i]) { NumbCheck = Arr[3]; Arr[3] = Arr[i]; Arr[i] = NumbCheck; }
           
        if (Arr[4] > Arr[i]) { NumbCheck = Arr[4]; Arr[4] = Arr[i]; Arr[i] = NumbCheck; }
 
        if (Arr[5] > Arr[i]) { NumbCheck = Arr[5]; Arr[5] = Arr[i]; Arr[i] = NumbCheck; }
 
        if (Arr[6] > Arr[i]) { NumbCheck = Arr[6]; Arr[6] = Arr[i]; Arr[i] = NumbCheck; }
        
    }
 
    for(int i = 0;i < countArr; ++i)
    {   
        cout<<Arr[i]<<",";
    }
    cin.get();
    return 0;
}
Добавлено через 4 минуты
Код можно усовершенствовать.
0
0 / 0 / 0
Регистрация: 04.03.2018
Сообщений: 31
13.06.2018, 22:45  [ТС] 7
slava_psk, а почему в каждый раз выдаёт одно и то же значение?
0
587 / 407 / 203
Регистрация: 10.06.2016
Сообщений: 1,912
14.06.2018, 08:21 8
Сергей1112444, Исходный массив формируется с помощью функции генерации случайных чисел RND(). Она при первом запуске программы дает одни и те же числа. Если сделать несколько повторений в цикле, то числа будут другие.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.06.2018, 08:21
Помогаю со студенческими работами здесь

Написать программу, реализующую сортировку одномерного массива методом обмена.(Найти количество перестановок элементов)
Написать программу, реализующую сортировку одномерного массива методом обмена.Найти количество...

Выполнить сортировку одномерного массива методом вставки в список с вычислением адреса
Приветствую друзья программисты. Нужна ваша неотъемлемая помощь. Выполнить сортировку одномерного...

Сортировка массива методом простого обмена
Привет,программисты! Мне поставлена задача выполнить сортировку одномерного массива методом ...

Сортировка одномерного массива методом обмена
Написать программу, реализующую сортировку одномерного массива методом обмена. Найти количество...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru