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

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

Восстановить пароль Регистрация
 
kkk008009kkk
46 / 46 / 1
Регистрация: 24.03.2011
Сообщений: 315
08.05.2012, 00:33     Пузырьковая сортировка #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 <cstdlib>
 
 
 
 
int main(){
    int a[10];
    int s,d,f,sc;
    sc=0;
    f=12;
    
    for(int i=10;i>0;i--)
    {
        a[i]=i-1+f;
       printf("%d \n",a[i]);
 
    }
   
    while ((10-sc)>0)
    {
    for (s=2;s<10-sc;s++)
    {
    if ((a[s])<(a[s-1]))
    {
                  d=a[s];
                  a[s]=a[s-1];
                  a[s-1]=d;
                  }
                  sc=sc+1;
                  }
                  }
                   for(int i=0;i<10;i++)
    {
        
       printf("%f /n",a[i]);
 
    }
                  
    getch();              
}
Написал по псевдокоду:

Вход: массив A, состоящий из N элементов, с нумерацией от A[1] до A[N]
sc := 0;
цикл пока N - sc > 0:
цикл для i = 2, ..., N-sc:
если A[i] < A[i-1], то:
поменять местами A[i] и A[i-1];
sc := sc + 1;
Но не работает, цикл зацикливается. Подскажите, пожалуйста, где ошибка.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2012, 00:33     Пузырьковая сортировка
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
antoha398
155 / 155 / 3
Регистрация: 29.03.2012
Сообщений: 418
08.05.2012, 00:49     Пузырьковая сортировка #2
посмотрите как он реализован здесь
Алгоритмы сортировок
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
5665 / 3144 / 356
Регистрация: 29.11.2010
Сообщений: 8,419
08.05.2012, 00:57     Пузырьковая сортировка #3
условие ((10-sc)>0) выполняется всегда, т.к. sc увеличивается только в цикле for (s=2;s<10-sc;s++), а цикл заканчивается быстрее, чем sc достигает значения 10.
kkk008009kkk
46 / 46 / 1
Регистрация: 24.03.2011
Сообщений: 315
08.05.2012, 01:13  [ТС]     Пузырьковая сортировка #4
Я понял это. То-есть ошибка в псевдокоде?
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
5665 / 3144 / 356
Регистрация: 29.11.2010
Сообщений: 8,419
08.05.2012, 01:15     Пузырьковая сортировка #5
Цитата Сообщение от kkk008009kkk Посмотреть сообщение
Я понял это. То-есть ошибка в псевдокоде?
Да, в нем тоже
kkk008009kkk
46 / 46 / 1
Регистрация: 24.03.2011
Сообщений: 315
08.05.2012, 01:15  [ТС]     Пузырьковая сортировка #6
Неактуально. Ошибку нашел. вынес sc=sc+1; из цикла фор
Yandex
Объявления
08.05.2012, 01:15     Пузырьковая сортировка
Ответ Создать тему
Опции темы

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