Трёхмерный массив! HELP!, Сортировка по возрастанию (я это даже предствить не могу) |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Трёхмерный массив! HELP!, Сортировка по возрастанию (я это даже предствить не могу) |
klik1602 |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 49 Пол: Женский Реальное имя: Натали Репутация: 1 |
Помогите пожалуйста! что-то совсем голова не варит((
Требуется отсортировать трёхмерный массив по возрастанию. как я понимаю, проще это будет сделать, преобразовав данный массив в одномерный. Подскажите, как выполнить преобразование?! |
volvo |
Сообщение
#2
|
Гость |
Не надо никаких преобразований. Как сортировать-то нужно?
|
klik1602 |
Сообщение
#3
|
Новичок Группа: Пользователи Сообщений: 49 Пол: Женский Реальное имя: Натали Репутация: 1 |
по возрастанию
|
volvo |
Сообщение
#4
|
Гость |
По возрастанию ЧЕГО? Сумм элементов третьего изменения? Среднего значения элементов строки? Возрастаний я тебе сотню придумать могу. Напиши какой массив был и какой должен стать после сортировки.
|
klik1602 |
Сообщение
#5
|
Новичок Группа: Пользователи Сообщений: 49 Пол: Женский Реальное имя: Натали Репутация: 1 |
Дан трёхмерный массив. Расположите его элементы по возрастанию
|
klik1602 |
Сообщение
#6
|
Новичок Группа: Пользователи Сообщений: 49 Пол: Женский Реальное имя: Натали Репутация: 1 |
что-то не то(( подскажите, как лучше вывести трёхмерный массив |
Lapp |
Сообщение
#7
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Дан трёхмерный массив. Расположите его элементы по возрастанию klik1602, от тебя пытаются добиться вдоль чего сортировать. С одномернум массивом этого вопроса на возникает. Легко сказать, какая точка больше и какая меньше, если они на отрезке или даже на целой прямой. А вот попробуй сравни так две точки на плоскости (или в трехмерном пространстве). Поэтому всегда нужно указывать, вдоль чего ты сортируешь. Например, на плоскости ты можешь сказать, что сортировка по близости к какому-то центру. Это будет первый уровень сортировки, а второй - внутри окружностей (все точки которых находятся на одинаковом расстоянии от центра), там можно сортировать по углу. Тут, я думаю, тебе нужна сквозная сортировка по слоям-строкам-элементам. Слой - это первый индекс, строка - второй, элементы - третий. Сквозная сортировка подразумевает, что ВСЕ элементы преддыдущего слоя не превосходят элементов следующего. В каждом слое - то же самое по строкам. А в каждой строке - поэлементно. Такая сортировка выглядит вполне естественно, но все же есть неоднозначность, и вопросы к тебе были совешенно законны. Например, можно сортировать элемент-слой-строка. Или вообще какой-нить змейкой хитрой.. Если же тебе надо сквозную сортировку слой-строка-элемент, то все довольно просто. Поскольку этот порядок совпадает с порядком организации трехмерного массива в памяти, то можно просто отсортировать всю эту область как большой одномерный массив. Например, вот так: type Что касается вывода, то он тоже организован по слоям. Иногда в задаче требуется не прибегать к представлению массива как одномерного. Если у тебя как раз такой случай - скажи. Удачи. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
klik1602 |
Сообщение
#8
|
Новичок Группа: Пользователи Сообщений: 49 Пол: Женский Реальное имя: Натали Репутация: 1 |
большое спасибо за помощь))
задача поставлена так, как я вам её написала, а именно Цитата Дан трёхмерный массив. Расположите его элементы по возрастанию , с преподавателем я не увижусь уже до сдачи лаб, и не смогу спросить, какая именно сортировка от меня требуется, но скорее всего сквозная))не могли бы вы мне объяснить вот эту строчку Цитата b: array [1..l] of integer absolute a; она у меня не читается при выполнении программы, выскакивает ошибка Цитата Ожидалось ';' что означает absolute a ?? |
-TarasBer- |
Сообщение
#9
|
Гость |
> она у меня не читается при выполнении программы, выскакивает ошибка
При выполнении?! Может, при компиляции? Не путай, это очень большая разница. Какой компилятор? > Ожидалось ';' Значит, при КОМПИЛЯЦИИ. А вовсе не при выполнении. > что означает absolute a ?? Это означает, что под переменную не будет выделяться память, переменная будет расположена в памяти там же, где и a. |
volvo |
Сообщение
#10
|
Гость |
Цитата выскакивает ошибка Включаем режим телепатии: компилятор - Pascal ABC? Тогда забудь про Absolute, там эта директива отменена. В ABC надо действовать по-другому. |
volvo |
Сообщение
#11
|
Гость |
М-да... В Pascal ABC убрали все возможности работы с указателями, вот что с людьми делает автоматическая сборка мусора... Никакими ухищрениями мне не удалось ни преобразовать указатель на 3-мерную структуру в указатель на обычный линейный массив (это стандартная в общем-то операция, тут она невозможна), ни просто сделать
type Это тоже стандартное решение, и оно в ABC тоже не работает, он пишет что не может разные структуры приводить друг к другу, хотя вообще-то должен, размер-то абсолютно одинаковый... Получилось сделать сквозную сортировку только вот таким извращением... (Показать/Скрыть)
|
Lapp |
Сообщение
#12
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
что означает absolute a ?? Что это буквально означает, тебе уже объяснили. А фигурально выражаясь, это означает, что пора бросать это уродство, Pascal ABC (если, конечно, это не есть ОБЯЗАТЕЛЬНОЕ требование твоего учебного заведения, что было бы еще бОльшим уродством), установить FreePascal и делать ДЕЛО, а не в бирюльки играть.Я уважаю труды volvo (не забудь ему поставить +1), но промолчать не могу. Pascal ABC был задуман как простая альтернатива, но реализация всегда была goofy, а теперь они и вообще исказили основную идею языка.. Скачай FPC с официального сайта http://freepascal.org/download.var , и будет тебе щастье.. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
klik1602 |
Сообщение
#13
|
Новичок Группа: Пользователи Сообщений: 49 Пол: Женский Реальное имя: Натали Репутация: 1 |
ещё раз, большое спасибо за помощь.
P.S> FreePascal уже установила;)) |
Текстовая версия | 5.05.2024 15:24 |