IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

> Пузырьковая Сортировка в C/C++, компилятор c++ 3.1
Andrewshkovskii
сообщение 23.12.2007 19:07
Сообщение #1


Бывалый
***

Группа: Пользователи
Сообщений: 222
Пол: Мужской
Реальное имя: Andrew

Репутация: -  0  +


Объясните пожалуйста,почему не сортируются элементы??
вроде де бы все верно в коде..
*n=макс. размерность массива.
buf= временная переменная для хранения элемента массива.

   while(is)
    {
     is=0;
     for (i=*n;i<=0;i--)//пробывал ставить --,не помогло...
      if (tabl1[i].sball<tabl1[i-1].sball)
       {
        buf=tabl1[i];
        tabl1[i]=tabl1[i-1];
        tabl1[i-1]=buf;
        is=1;
        }
     }


Сообщение отредактировано: Andrewshkovskii - 23.12.2007 19:08
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 23.12.2007 19:52
Сообщение #2


Гость






Не совсем понятно, зачем собственно ты выделяешь n динамически, что тебе это даст? Но если сделать n обычной переменной, то:

...
    int n = ...;

    int is = 1;
    while(is) {
        is = 0;
        for (int i = n - 1; i > 0; i--)
            if (tabl1[i].sball < tabl1[i-1].sball) {

                my_s buf;
                memmove((void*)(&buf), (void*)(&tabl1[i]), sizeof(my_s));
                memmove((void*)(&tabl1[i]), (void*)(&tabl1[i - 1]), sizeof(my_s));
                memmove((void*)(&tabl1[i - 1]), (void*)(&buf), sizeof(my_s));

                is=1;
            }
        }
...

 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 23.07.2025 0:24
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"