![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
angry_one |
![]()
Сообщение
#1
|
Гость ![]() |
Прошу в общих чертах описать, что должно происходить при таком варианте сортировки. Лекцию я видимо по этой теме пропустил, а прогу писать надо
![]() |
![]() ![]() |
angry_one |
![]()
Сообщение
#2
|
Гость ![]() |
прошу прощения за создание этой темы. Нашел все, что мне нужно в FAQ'e.
|
angry_one |
![]()
Сообщение
#3
|
Гость ![]() |
так, стадия 3, скажите, это оно:
Создается массив записей и сортируется пузырьком по полю, содержащему скажем грузоподъемность трактора. Это и есть "Индексная сортировка линейным методом"? |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Не совсем... Индексная сортировка - это когда сортируется не сам массив данных (он как раз остается в неприкосновенности), а массив индексов... Т.е., если исходный массив имеет вид A = <1, 3, 5, 2, 4>
и соответственно, индексный массив в начале - ix = <1, 2, 3, 4, 5> (просто индексы от 1 до длины_массива), то в результате сортировки массив данных неизменен, а массив индексов примет вид: ix = <1, 4, 2, 5, 3>, то есть если распечатать значения A[ix[i]], то они будут отсортированы по возрастанию... |
Гость |
![]()
Сообщение
#5
|
Гость ![]() |
о, кажется понял. Спасибо.
|
Гость |
![]()
Сообщение
#6
|
Гость ![]() |
ребят, еще один вопрос возник:
можно ли задать формат вывода на экран чисел ЦЕЛОГО типа, аналогичным образом, каким он происходит с вещественными(:5:2 условно)? Нужно в таблице вывести число от 0 до 999, но границы таблицы меняются из-за того, что разное разное количество символов под разные числа. Было бы замечательно, если бы можно было выделить под это число 3 знака и они бы уже заполнялись, не двигая границы таблицы |
Гость |
![]()
Сообщение
#7
|
Гость ![]() |
кстати вот моя реализация сабжевого вопроса темы:
For j:=1 to i do{заполнение массива индексов} mInd[j]:=j;{} For j:=1 to i do{цикл изменения массива индексов в соответствии с требуемым} For k:=1 to i do begin If tplane[mind[j]].pass>tplane[mind[k]].pass then begin buf:=mind[j]; mind[j]:=mind[k]; mind[k]:=buf; end; end; |
Ozzя |
![]()
Сообщение
#8
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: ![]() ![]() ![]() |
ребят, еще один вопрос возник: можно ли задать формат вывода на экран чисел ЦЕЛОГО типа, аналогичным образом, каким он происходит с вещественными(:5:2 условно)? Нужно в таблице вывести число от 0 до 999, но границы таблицы меняются из-за того, что разное разное количество символов под разные числа. Было бы замечательно, если бы можно было выделить под это число 3 знака и они бы уже заполнялись, не двигая границы таблицы Write (i:3); |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 5:07 |