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

Сортировка вставками - C++

Восстановить пароль Регистрация
 
evox
0 / 0 / 0
Регистрация: 19.05.2012
Сообщений: 6
22.05.2012, 18:59     Сортировка вставками #1
Программа работает, но криво(
Нужно, что бы 10 массивов рандомных было, а не один.
И еще плохо считает в рандомном массиве сравнения.
И еще нужно среднее сравнение за 10 массивов что бы считал.
Прошу помощи, не могу разобратся(



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
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <math.h>
#include <conio.h>
 
int main()
 
{
 int i,temp,n,*mas,j,srav,shag=0;
 n=10;
 srand(time(NULL));
 mas=(int*)malloc(n*sizeof(int));
 
 for(i=0;i<n;i++)
 {
 mas[i]=rand()%10;
 printf("%d | ", mas[i]);
 }
 
 printf("\n");
 
 for(j=0;j<n;j++)
 {
 printf("----");
 }
 shag=0;
 
 for (i=0;i<n;i++)
 {
 temp=mas[i];
 j=i-1;
 
 while ((j>=0)&&(mas[j]>temp))
 {
 mas[j+1]=mas[j];
 j=j-1;
 mas[j+1]=temp;
 shag++;
 }
 srav++;
 }
 
 printf("\n");
 
 for(j=0;j<n;j++)
 {
 printf("%d | ", mas[j]);
 }
 
 printf("\n");
 
 for(j=0;j<n;j++)
 {
 printf("----");
 }
 printf("\n\n shagi i srav == %d | %d", shag,srav);
 printf("\n\n\n");
 
 int l[]={0,1,2,3,4,5,6,7,8,9}, h[]={9,8,7,6,5,4,3,2,1,0}, shag_l=0, shag_h=0, sr=0,sr2=0;
 
 printf("\tluchshii sluchai :\n\n");
 for(i=0;i<10;i++)
 {
 printf("%d | ", l[i]);
 }
 printf("\n_______________________________________\n");
 
 for (i=0;i<10;i++)
 {
 temp=l[i];
 j=i-1;
 
 while ((j>=0)&&(l[j]>temp))
 {
 l[j+1]=l[j];
 j=j-1;
 l[j+1]=temp;
 shag_l++;
 }
 sr++;
 }
 
 for(j=0;j<10;j++)
 {
 printf("%d | ", l[j]);
 }
 
 printf("\n\n shagi i srav == %d | %d", shag_l, sr);
 printf("\n\n=======================================\n\n");
 printf("\n");
 
 printf("\thudshii sluchai :\n\n");
 
 for(i=0;i<10;i++)
 {
 printf("%d | ", h[i]);
 }
 printf("\n_______________________________________\n");
 
 for (i=0;i<10;i++)
 {
 temp=h[i];
 j=i-1;
 
 while ((j>=0)&&(h[j]>temp))
 {
 h[j+1]=h[j];
 j=j-1;
 h[j+1]=temp;
 shag_h++;
 }
 sr2++;
 
 }
 for(j=0;j<10;j++)
 {
 printf("%d | ", h[j]);
 }
 
 printf("\n\n shagi i srav == %d | %d", shag_h, sr2);
 printf("\n\n=======================================\n\n");
 getch();
 
 
 return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2012, 18:59     Сортировка вставками
Посмотрите здесь:

Сортировка вставками C++
Сортировка вставками C++
C++ Сортировка вставками
Сортировка вставками C++
Сортировка вставками. C++
C++ сортировка вставками
C++ Сортировка вставками
Сортировка вставками C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Shadow_of_clown
Сообщений: n/a
18.06.2012, 11:16     Сортировка вставками #2
Можешь посмотреть этот код сортировка вставками в нём всё работает и всегда разные массивы для сортировки.
Yandex
Объявления
18.06.2012, 11:16     Сортировка вставками
Ответ Создать тему
Опции темы

Текущее время: 01:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru