Упорядочивание матрицы или одном. массивов. |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Упорядочивание матрицы или одном. массивов. |
DarkGhost |
27.05.2011 12:37
Сообщение
#1
|
Группа: Пользователи Сообщений: 9 Пол: Мужской Реальное имя: Максим Репутация: 0 |
Собственно требуется упорядочить 4 одномерных массива, 4 массива получаются путём создания их из 4рех первых строк матрицы.
Нужно упорядочить их по убыванию. Читал это Методы сортировок Пробовал и способом вставки и пузырьковым методом, видимо я немного криворукий... Прошу вашей помощи) Сделал всю лабу, осталось всего лишь эта мелочь... Сама прога. Program xD; Добавлено через 1 мин. Как я понял, можно упорядочить уже векторы, или матрицу до создания векторов, но и так и так у меня ничего не получилось, увы...( |
IUnknown |
27.05.2011 15:45
Сообщение
#2
|
a.k.a. volvo877 Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: 627 |
Цитата Сделал всю лабу, осталось всего лишь эта мелочь... Вообще-то с "этой мелочи" нужно начинать делать работу. Сначала - пишешь функционал, потом - наводишь красоту. Ты пошел другим путем. Навел красоту? Гордись. Теперь у тебя есть никому не нужная, зато жутко красивая (наверное, я не запускал, но судя по размеру исходника - она обязана быть красивой) программа. Только это тебе не поможет: программа должна выполнять свою работу, а не утомлять зрение.Цитата Собственно требуется упорядочить 4 одномерных массива Собственно, там, в FAQ-е есть для этого процедура. Для твоего случая она будет выглядеть так:Procedure Bubble(Var ar: Vector; n: integer);, передавай в нее свои массивы - они будут упорядочены. Если тебе нужно их каким-то специальным образом создавать массивы из матрицы - то уточняй, каким именно. А еще лучше - привести формулировку задачи, ибо ты написал все, что угодно, только не то, что нужно для понимания задачи... P.S. ТЫ что, шрифт SMALL сам написал? Нет? А почему же используется InstallUserFont, а не RegisterBGIfont? (это просто бросилось в глаза, я программу даже не компилировал...) |
DarkGhost |
28.05.2011 1:39
Сообщение
#3
|
Группа: Пользователи Сообщений: 9 Пол: Мужской Реальное имя: Максим Репутация: 0 |
IUnknown, спасибо.
Начинал не с *мелочи* граф оболочка писалась несколько минут. И тем не менее это одна из важных частей защиты лабы на отлично. Само условие: Дан двумерный массив размером MxN. Преобразовать его по правилу - все элементы каждого столбца матрицы умножить на элемент этого столбца. Из первых четырех строк массива сформировать четыре новых вектора (одномерных массива). Упорядочить каждый вектор по убыванию. Процедура есть, говорил же что пытался вставить, увы, было с ошибками. P.S. Нет, конечно) исправлено. |
DarkGhost |
28.05.2011 2:20
Сообщение
#4
|
Группа: Пользователи Сообщений: 9 Пол: Мужской Реальное имя: Максим Репутация: 0 |
Всё же немного туплю, когда вставляем процедуру в программу, bubble( ), что в скобках? судя по примеру, массивы a и b, a - исходный, b - это что?
Глупый вопрос, но пока не разберешься, тупо подставлять буковки пока не заработает хреново)) |
IUnknown |
28.05.2011 9:54
Сообщение
#5
|
a.k.a. volvo877 Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: 627 |
Цитата судя по примеру, массивы a и b, a - исходный, b - это что? Это не массивы. Это массив (он передается как Var-параметр, так что он же и будет результатом) и количество элементов в нем, которые надо упорядочить (на случай, если понадобится упорядочивать только часть массива). Скажем, вот ты описываешь матрицу так:const, а фактически у тебя содержится только N нужных столбцов. Остальные - либо 0, либо мусор (в твоем случае нули, поскольку переменная типа Matrix описана глобально). Будешь вызывать так: bubble (G[1], NMax);- эти самые никому не нужные нули тоже упорядочатся. И результат будет не такой, какой ожидался. Следовательно, надо передать правильную длину массива: bubble (G[1], N);Вот теперь все нежелательные элементы (начиная с N+1-го не будут задействованы)... |
DarkGhost |
28.05.2011 11:22
Сообщение
#6
|
Группа: Пользователи Сообщений: 9 Пол: Мужской Реальное имя: Максим Репутация: 0 |
Спасибо! Полностью разобрался, что думаю в следующий раз смогу повторить это без подсказок и не абы как!
Ещё раз большое спасибо. |
Текстовая версия | 27.04.2024 19:35 |