Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.01.2013, 00:01   #1
shp57
Новичок
Джуниор
 
Регистрация: 21.01.2013
Сообщений: 1
По умолчанию Cортировка пузырьком

Код:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
#define N 9
#include "Unit1.h"

//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int i, A[N];
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{

}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
 Memo2 -> Clear();
 Memo1 -> Clear();
 AnsiString Str;
 for (i = 0; i <= N; i++)
 {
 A[i] = random(10) ;
 Str += IntToStr (A [i])+ " " ;
 }
 Memo1 -> Lines -> Add(Str);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
   int  t;
    int FL=1;
    while(FL)

    {
        FL=0;
        AnsiString Str;
        for(int i= 1; i < N - 1; i++)
        {
            if (A[i+ 1] < A[i])
            {
                t = A[i + 1];
                A[i + 1] = A[i];
                A[i] = t;
                FL=1;
         {
                Str += IntToStr(A[i])+ " " ;
 }
                   Memo2 -> Lines -> Add(Str);
            }
        }
    }
}




//-----------

Вот написал код для данной блок-схемы, но сортировать не хочет, подскажите пожалуйста, почему?
Изображения
Тип файла: jpg IMG_1266.jpg (93.4 Кб, 128 просмотров)
shp57 вне форума Ответить с цитированием
Старый 22.01.2013, 11:53   #2
Perchik71
С++, Delphi
Форумчанин
 
Аватар для Perchik71
 
Регистрация: 24.11.2012
Сообщений: 495
По умолчанию

потому что не правильно.... в добавок можно улучшить алгоритм по скорости..
Что делает сортировка? она работает либо методом перестановок, вставки или на худой конец отбора... Пузырёк является методом перестановок, этот метод самый медленный что можно себе вообразить.

Простейшая реализация на с++ сортировка символов.
Цитата:
void bubble(char*item, int count)
{
register int a, b;
char t;
for(a=1;a<count;++a)
{
for(b=count-1;b>=a;--b)
{
if(item[b-1]>iten[b])
{
t=item[b-1];
item[b-1] = item[b];
item[b] = t;
}
}
}
}
где item массив букашек, count их кол-во.
Если помог, тут весы есть , Вам не сложно, а мне приятно.
Perchik71 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Cортировка слиянием. WiZzarD94 Помощь студентам 1 14.01.2013 00:52
Cортировка структуры (С++) nats Общие вопросы C/C++ 19 16.10.2010 10:09
Cортировка матрицы fort-_-minor Общие вопросы C/C++ 4 05.08.2010 13:47
C++ Cортировка savva Помощь студентам 3 12.07.2010 04:05
Cортировка C++ Sonny01 Помощь студентам 0 08.04.2010 20:38