Помощь - Поиск - Пользователи - Календарь
Полная версия: Сортировка записей
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Ananas
Задача такая: файл имеет структуру
время(5 позиций), пробел, аэродром посадки(3 позиции)
11:35 АП1
23:08 АП3
15:30 АП2
и т.д.
Так вот, всего в файле 10 записей. Надо считать каждую строку в отдельный элемент массива и отсортировать по убыванию времени методом пузырька. После этого вывести отсортированную таблицу (именно таблицу, с использованием символов аски кода). Есть такая идея, только не знаю как сделать: считываем строки в массив записей. При сортировке во времени удаляем двоеточие и оставшееся время преобразуем в число. Подскажите как
Артемий
Ну так вот - ты начни делать задачу (можешь дать файл) и потом выложишь сюда,если проблемы будут!А там поможем...
volvo
Цитата
При сортировке во времени удаляем двоеточие и оставшееся время преобразуем в число.
А зачем? Что, строки (вместе с двоеточием) нельзя отсортировать тем же пузырьком?
Артемий
+ поиск (Сортирока записей)
Ananas
2 VOLVO
А по какому признаку тогда?

Штука в том, что просто я в эту задачу сформулировал именно то что у меня не получается smile.gif На самом деле эта задача сложнее и больше (к ней документации листов 50).
volvo
Если файл у тебя текстовый, и состоит из вот таких строк, как ты описываешь, то достаточно будет записать данные в массив ar: array[1 .. 10] of string;, и сделать:

  For i := 1 To n Do
For j := n DownTo i+1 Do
If copy(ar[j - 1], 1, 5) > copy(ar[j], 1, 5) Then Begin { сравниваем только ВРЕМЯ - первые 5 позиций строки }
T := ar[j - 1]; ar[j - 1] := ar[j]; ar[j] := T
End
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.