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

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Сортировка символьного массива по числ. значениям, Сортировка массива
natka
сообщение 19.02.2006 13:26
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 39
Пол: Женский

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


Дан одномерный массив, каждый элемент которого является строкой, состоящий из одних цифр. Упорядочить массив в порядке убывания их числовых значений.
После стандартного упорядочивания массива получается, например, такое: 567, 45, 345, 1111, т.е. массив упорядочивается как строковые данные, а не как числовые. Что можно сделать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 19.02.2006 13:59
Сообщение #2


Гость






Чтобы массив упорядочивался как числовые данные, нужно:
1) или массив сделать числовым
2) или при сравнении элементов массива делать так:
Function ConvToInt(s: String): Integer;
Var V, Err: Integer;
begin
Val(S, V, Err);
ConvToInt := V; { Возвращаем число, хранящееся в строке }
end;

{ Кусок сортировки пузырьком }
If ConvToInt(ar[Pred(j)]) > ConvToInt(ar[j]) Then { Сравниваешь числовые значения }
Begin
T := ar[Pred(j)]; ar[Pred(j)] := ar[j]; ar[j] := T { А перемещаешь - строковые }
End


To мисс_граффити:
Если уж Вы, уважаемая, отвечаете, то я попрошу НЕ отвесать одним словом, а хотя бы дать идею программы. Это понятно? Вам самой такой ответ бы понравился? mad.gif

klem4, тебя это тоже касается! Ты хорошо подумал? Вот попробуй БЕЗ написания своей функции сделать то же, что сделал я, НЕ усложняя программу...

"Никогда не опережай действием мысль!" (С) "Диверсант"...
 К началу страницы 
+ Ответить 

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


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

 



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