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

Сравнение алгоритмов сортировок - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ 2 int to double http://www.cyberforum.ru/cpp-beginners/thread655159.html
Здравствуйте. Вот такой вопрос. В памяти хранится 2 int числа - рубли и копейки, при выводе выводятся через запятую. В задании нужно поделить введенное количество денег на double. Вопрос - как мне переделать два int числа в double, то есть если а=355, в=54, то требуемое мне число double должно иметь вид 355,54. Спасибо.
C++ Имитация движения простых геометрических объектов Помогите написать программу в visual studio c++ Нужно разработать программу, имитирующую движение таких объектов как круг, треугольник, квадрат, прямоугольник. Нужно ещё предусмотреть возможность движения как одного, так и нескольких объектов одновременно. http://www.cyberforum.ru/cpp-beginners/thread655151.html
Дан массив х1,.,х8 целых чисел C++
Почему выдает ошибку ? #include <iostream> #include <conio.h> #include <math.h> #include <stdlib.h> using namespace std; int main() { int n,j,i,k;
C++ класс Timer
создать класс timer который через установленный интервал времени вызывает заданную функцию. Вот такая вот задача, только никак даже сообразить не могу, как это возможно реализовать?
C++ Задача: игра "Поймать парасёнка" http://www.cyberforum.ru/cpp-beginners/thread655087.html
Описание "Поймать парасёнка" - один из видов игры в карты. Допустим за игральным столом 4 игрока. Ваша задача посчитать итоговый результат этих игроков, следуя правилам подсчёта указанным ниже: S, H, D, C - соответственно пики, червы, бубны и трефы. Цифры от 1 до 13 соответственно A, 2, ..., Q, K. Например, H1 это червы A, S13 это пики K.
C++ Как обучиться программированию? Всем привет! Кто может научить, все обьяснить по С++. Хочу выучить, помогите. Откликнитесь пожалуйста! подробнее

Показать сообщение отдельно
WriterMix
1 / 1 / 0
Регистрация: 06.11.2011
Сообщений: 68
21.09.2012, 00:06  [ТС]     Сравнение алгоритмов сортировок
Цитата Сообщение от ZoRT Посмотреть сообщение
непонятно что вы хотите... один массив отсортировать разными алгоритмами?
если так, то создайте и заполните массив вне case ветвей, сделайте 2 его копии и каждую копию отстортируйте нужным алгоритмом.
Всеравно не работает 2-й и 3-й алгоритм.
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
// Лабораторна робота №2.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
//#include <stdlib.h>
#include <string>
#include <time.h>
#include <conio.h>
using namespace std;
 
void bubbleSortS(int* m, int n)
{
 
     for(int i = n - 1; i >= 1; i--)
       for(int j = 0; j < i; j++)
       {
               if(m[j] > m[j+1])
               {
                       int foo = m[j];
                       m[j] = m[j+1];
                       m[j+1] = foo;
               }
       }
 
}
 
void bubbleSortM(int *m, int n)
    {
        for(int i=0; i<n; i++)
        {  
          bool flag = false;
           for(int j=0; j<n-i-1; j++)
           {
              if(m[j]>m[j+1])
              {
                flag = true;
                 int temp = m[j+1];
                 m[j+1] = m[j];
                 m[j] = temp;
              }
           }
          
          if(!flag){ 
             return; 
          } 
       }
}
 
void Shaker(int *m, int n)
{
int i,left,right,b;
int t;
for(right=n-1,left=0,b=-1;b!=0;)//устанавливаем правую и левую границу
{
b=0;
    for(i=left;i<right;i++)//двигаемся с лева на право
    {
        if(m[i]>m[i+1])
        {t=m[i];m[i]=m[i+1];m[i+1]=t;b=i;}
    }
    right=b;
    for(i=right;i>left;i--)//двигаемся с права на лево
    {
        if(m[i-1]>m[i])
        {t=m[i];m[i]=m[i-1];m[i-1]=t;b=i;}
    }
    left=b;
 
}
}
 
int main ()
{
    //cout << "Cin Numer of Elements: ";
    int choise, choise2;
    int n = 500;
    //cin >> n;
    int* m;
    int* m2;
    int* m3;
    m = new int[n];
    m2 = new int[n];
    m3 = new int[n];
        for(int i=0;i!=n;i++)
    {
        srand(time(NULL)); 
        m[i] = rand()%(n+1);
        memcpy(m2, m, sizeof(m));
        memcpy(m3, m, sizeof(m));
    }
do 
{
cout<<"Choose: Bubble Sort Standart (1), Modify (2), Shaker (3): ";
cin>>choise;
switch(choise)
{
case 1:
{
    //for(int i=0;i!=n;i++)
    //{srand(time(NULL)); m[i] = rand()%(n+1);}
    //cout << endl;
clock_t time;
time = clock();
bubbleSortS (m, n);
time = clock() - time;
cout<<endl<<endl<<endl;
printf("%f", (double)time/CLOCKS_PER_SEC); //время выполнения "каких-то действий"
cout<<endl<<endl<<endl; 
break;
}
case 2:
{
    /*for(int i=0;i!=n;i++)
    {srand(time(NULL)); m2[i] = rand()%(n+1);}
    cout << endl;*/
clock_t time;
time = clock();
bubbleSortM (m2, n);
time = clock() - time;
cout<<endl<<endl<<endl;
printf("%f", (double)time/CLOCKS_PER_SEC); //время выполнения "каких-то действий"
cout<<endl<<endl<<endl;
break;
}
case 3:
{
    //for(int i=0;i!=n;i++)
    //{srand(time(NULL)); m2[i] = rand()%(n+1);}
    //cout << endl;
clock_t time;
time = clock();
Shaker(m, n);
time = clock() - time;
cout<<endl<<endl<<endl;
printf("%f", (double)time/CLOCKS_PER_SEC); //время выполнения "каких-то действий"
cout<<endl<<endl<<endl;
break;
} 
}
cout<<"Do you want to choose other algorithm? (Yes - 1; No - 0) ";
cin>>choise2;
}
while (choise2 == 1);
    //cout << "After sort" << endl;
    //for(int i = 0; i < n; i++)
    //cout << m[i] << ' ';
    cin.get();
}
Добавлено через 39 минут
Все заработало! Скопировал массивы через цикли. Всем спасибо!
 
Текущее время: 07:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru