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

Пузырьковая сортировка - C++

Восстановить пароль Регистрация
 
sashqa93
0 / 0 / 0
Регистрация: 17.12.2011
Сообщений: 14
18.04.2012, 22:34     Пузырьковая сортировка #1
Помогите исправить не сортирует массив.Еще должен считать кол-во шагов прохода цикла.
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
#include <stdio.h>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
int n;
int main()
{
 int x[n],i,c,a,t,j,k1;
 k1=0;
 i=0;
 c=1;
 printf("vvedite razmer massiva : ");
 scanf("%d", &n);
 srand(time(NULL));
 for(i=0;i<n;i++)
 {
 x[i]=rand()%100;
 printf("%d | ", x[i]);}
 while ((c>0) && (i>=(n-1)))
 {
       c=0;
       
       for (j=0;j<n-1;j++)
       {
             if (x[j]>x[j+1]) 
             {t=x[j];
             x[j]=x[j+1];
             x[j+1]=t;}
             }
             k1++;
             }
             printf("\n__________________\n");
             for(j=0;j<n;j++)
             {
             printf("%d | ",x[j]);}
             printf("shagi: %d",k1);
             
             
 
 getch();
 return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.04.2012, 22:34     Пузырьковая сортировка
Посмотрите здесь:

C++ Пузырьковая сортировка
Сортировка пузырьковая C++
пузырьковая сортировка C++
C++ Пузырьковая сортировка
C++ Пузырьковая сортировка
C++ Пузырьковая сортировка
C++ Пузырьковая сортировка
C++ Пузырьковая сортировка

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
antoha398
155 / 155 / 3
Регистрация: 29.03.2012
Сообщений: 418
18.04.2012, 23:15     Пузырьковая сортировка #2
Алгоритмы сортировок
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
19.04.2012, 10:14     Пузырьковая сортировка #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
#include <stdio.h>
#include <stdlib.h>
#include <memory.h>
#include <conio.h>
#include <tchar.h>
 
bool ordered(int* px, int n);
void swap(int& first, int& second);
 
int main(void)
{
    int N = 0;
    printf("Vvedite razmer massiva N\t"); scanf("%d",&N);
 
    int* X = new int[N];
    memset((void*)X, 0x00, sizeof(int) * N);
 
    for (int i = 0; i < N; i++)
    {
        X[i] = rand() % N + 1;
        printf("%d ",X[i]);
    }
 
    printf("\n");
 
    do {
         for (int i = 0; i < N-1; i++)
              if (X[i] > X[i+1]) swap(X[i], X[i+1]);
    }while(!ordered(X,N));
 
    for (int i = 0; i < N; i++)
        printf("%d ",X[i]);
    printf("\n");
 
    _getch();
 
    return 0;
}
 
bool ordered(int* px, int n)
{
    for (int i = 0; i < n-1; i++)
        if (px[i] > px[i+1]) return false;
    return true;
}
 
void swap(int& first, int& second)
{
    int temp = first;
    first = second;
    second = temp;
}
Yandex
Объявления
19.04.2012, 10:14     Пузырьковая сортировка
Ответ Создать тему
Опции темы

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