![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() |
Andrewshkovskii |
![]()
Сообщение
#1
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 222 Пол: Мужской Реальное имя: Andrew Репутация: ![]() ![]() ![]() |
Объясните пожалуйста,почему не сортируются элементы??
вроде де бы все верно в коде.. *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 |
![]() ![]() |
volvo |
![]()
Сообщение
#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;
}
}
...
|
![]() ![]() |
![]() |
Текстовая версия | 23.07.2025 0:24 |