Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Сортировка массивов(лаба) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Попадают ли точки в окружность http://www.cyberforum.ru/cpp-beginners/thread1041432.html
Дан файл координат точек на плоскости.Переписать в файл G все точки,попадающие в окружность радиуса R и с координатами центра (x,y). Реализовать на двоичных файлах с помощью структур данных (struct)....
C++ написать код решения кубического уравнения, пожалуйста ! а то отчислят из универа Нужно написать код решения уравнения в С++ типа: A*x^3+B*x^2+C*x+D, кто знает, пожалуйста напишите, мне сказали, что нужно решать по схеме Горнера http://www.cyberforum.ru/cpp-beginners/thread1041431.html
Задан массив из k чисел. Найти число, наиболее часто встречающееся в этом массиве C++
помогите плиз. Задан массив из k чисел. Найти число, наиболее часто встречающееся в этом массиве. если можно. вот код: #include <cstdlib> #include <iostream> #include <stdafx.h> int cout,endl;...
C++ Вывод контейнера указателей на экземпляры абстрактного класса
Добрый день. Задача требует описать абстрактный класс и несколько наследников этого класса. Затем, описать контейнер (list) указателей на экземпляры абс класса и заполнить его экземплярами...
C++ Конструктор класса http://www.cyberforum.ru/cpp-beginners/thread1041421.html
Необходимо, чтобы при задании планеты (сферы) высчитывался гравитационный параметр, желательно в конструкторе. Данный код не компилируется, выдаются ошибки LNK2028, LNK2019 и LNK1120. class sphere...
C++ Указатели. Сравнить работу собственной функции со стандартной из библиотеки string.h Сравнить работу собственной функции со стандартной из библиотеки string.h. Функция strrchr – нахождение последнего вхождения символа в строку. (можно с комментариями ) Вот пример другой функции... подробнее

Показать сообщение отдельно
igorfors
0 / 0 / 0
Регистрация: 17.11.2013
Сообщений: 30

Сортировка массивов(лаба) - C++

14.12.2013, 19:51. Просмотров 155. Ответов 0
Метки (Все метки)

На этапе настройки программы показывать на экране исходный массив и результаты итерации. Результаты сортировки разными методами надо вывести в виде таблицы
num buble select insert

Три раза запустить программу. Найти среднее арифметическое число пересылок для каждого размера массива и трех методов сортировки.

Вот мои наработки:
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
69
70
71
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <math.h>
#include <conio.h>
 
using namespace std;
//Факториал для k-ого члена
int bubleSort(int *mass,int num,int &mov){
     int flag=1;
     for(int i=1;i<=num;i++){
         flag=0;
         for(int j=0;j<num-1;j++){
             if (mass[j+1]<mass[j]){
                 swap (mass[j+1],mass[j]);
                 mov+=3;
                 flag=1;
                 return mov;
             }
         }
         if (flag==0)break;
     }
 }
 
int selectSort(int *mass, int num,int &mov){
    for(int i=0;i<num-1;i++){
        int min=i;
        for(int j=i+1;j<num;j++)
            if (mass[j]<mass[min]) min=j;
        if (min!=i){
            swap(mass[min],mass[i]);
            mov+=3;
            return mov;
        };
    }}
 
 
int insertSort(int *mass, int num,int &mov){
    int i,j,key;
    for(i=1;i<num;i++){
        key=mass[i];
        mov++;
        j=i-1;
        while (mass[j]>key){
            mass[j+1]=mass[j];
            mov++;
            j--;
        }
        if(mass[j+1]!=key){
            mass[j+1]=key;
            mov++;
            return mov;
        }}}
            
            
            void main () {
int num=10,mov,buble,select,insert;
int *mass=new int[num];
for (int i=0;i<num;i++){
    mass[i]=rand()%10;
    cout<<mass[i];}
cout<<'\n';
for (int j=1; j<=11; j++) {
buble=bubleSort(mass, num,mov);
select=selectSort(mass, num,mov);
insert=insertSort(mass, num,mov);
cout << num << "\t" << buble << "\t"<< select << "\t" << insert<<"\t\t" << endl;}
 
 
system("pause");
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru