![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
infiniti |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: ![]() ![]() ![]() |
Люди, помогите, пожалуйста, написать программу! Очень надо!
![]() Даны две действительные матрицы разной размерности. Используя процедуры реорганизовать массивы следующим образом: каждый столбец массива упорядочить по невозрастанию, если его предпоследний элемент отличается более чем на 15% от среднего арифметического элементов столбца, находящихся в нечетных строках, в противном случае столбец упорядочить по неубыванию. Использование вспомогательных рабочих массивов допускается. Сообщение отредактировано: infiniti - 19.05.2007 10:25 |
мисс_граффити |
![]()
Сообщение
#2
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Сам пробовал что-то делать?
-------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
infiniti |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: ![]() ![]() ![]() |
Сам пробовал что-то делать? Пробовал. Как я понял процедура должна считать среднее арифметическое элементов нечетных строк каждого столбца, а затем нужно в другой процедуре сравнивать 0.15 от среднего с последним элементом столбца. Но я не шарю в Паскале, и как это в нем организовать не понимаю. ![]() |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Процедур на самом деле лучше сделать 3, а не одну: первая будет печатать матрицу (потому как тебе придется ее печатать как минимум 2 раза, ДО и ПОСЛЕ преобразования), вторая - считать среднее арифметическое и определять направление сортировки, а третья - собственно сортировать данные...
Подумай, для начала, как ты представляешь себе передачу матрицы любого размера в процедуру... Если ты сделаешь это правильно - вся остальная задача решается элементарно... |
infiniti |
![]()
Сообщение
#5
|
Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: ![]() ![]() ![]() |
Мне, в принципе не нужно брать матрицы любого размера, можно взять две конкретные, но разной размерности.
|
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Ну, а я про что?... Они же
Цитата две конкретные, но разной размерности. , и просто так ты их в процедуру не передашь... Надо придумать, как ДА можно передать 2 разноразмерные матрицы...(для информации - программа давно готова, но вот тут я бы предпочел не выкладывать готовое решение, а подождать, пока ты хоть немного продвинешься дальше самостоятельно...) |
infiniti |
![]()
Сообщение
#7
|
Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: ![]() ![]() ![]() |
Я думаю так
|
volvo |
![]()
Сообщение
#8
|
Гость ![]() |
Хорошо... А теперь покажи, как в ЭТУ ЖЕ процедуру передать И матрицу 4*5, И матрицу 6*7, например... У тебя же матрицы РАЗНОГО размера, прочти условие внимательно!!!
|
infiniti |
![]()
Сообщение
#9
|
Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: ![]() ![]() ![]() |
Может так
Type matr = Array[1..4,1..5] of integer; Var A,B: matr; |
volvo |
![]()
Сообщение
#10
|
Гость ![]() |
Да не так... Я больше очевидного говорить не буду... Ты ОПИСЫВАЕШЬ уже матрицы одинаковыми!!!
Type А вот теперь попробуй ОБЕ матрицы (и m1, и m2) заполнить в своей процедуре! |
infiniti |
![]()
Сообщение
#11
|
Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: ![]() ![]() ![]() |
Type matr1 = Array[1..4,1..5]; matr2 = Array[1..6,1..7]of integer; Var m1: matr1; m2:matr2; Так? Сообщение отредактировано: infiniti - 19.05.2007 13:32 |
мисс_граффити |
![]()
Сообщение
#12
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Во-первых, не стоит забывать про форматирование текста программ.
Во-вторых... Нет, это не решение. А если нам нужно 3 матрицы? А если 10? Я бы вот в какую сторону посмотрела: у нас нигде нет работы с матрицей целиком. Все задания идут по отдельному столбцу... Это первый вариант. Второй... Работу с динамической памятью вы еще не проходили? -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
infiniti |
![]()
Сообщение
#13
|
Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: ![]() ![]() ![]() |
Насчет форматирования - согласен, но для меня щас это не главное. Это не решение - это начальная часть программы, где описываются матрицы.У меня есть конкретная задача с двумя матрицами. Если бы я самостоятельно, без помощи мог все сделать я бы здесь не сидел. У нас было 4 лекции по Паскалю и понять мне особо ничего не удалось. Информатика последний семестр и не профильный предмет. На последний вопрос я думаю отвечать не надо.
|
volvo |
![]()
Сообщение
#14
|
Гость ![]() |
Ну вот посмотри, как я бы делал печать матрицы:
procedure print(const mx: array of real; Посмотри, как организована работа с матрицей... В эту процедуру можно передать как матрицу 5x5, так и 10x8, и любую другую... |
infiniti |
![]()
Сообщение
#15
|
Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: ![]() ![]() ![]() |
С печатью матрицы понятно. Мне нужно составить программу для двух конкретных матриц, каких я хочу сам, например 2*3 и 3*4, данные тоже выбираю я, т.е. мне нужна конкретно эта задача с моими данными. Задача мне понятна, просто я слабо представляю как реализовать ее в Паскале. Например как считать среднее значение элементов нечетных строк и затем упорядочивать столбцы. Моему преподу нужно будет лишь объяснить где какие переменные и какие операторы и процедуры что делают.
Сообщение отредактировано: infiniti - 19.05.2007 15:52 |
volvo |
![]()
Сообщение
#16
|
Гость ![]() |
Ну, я смотрю, сам ты ничего делать не хочешь... Как хочешь... Держи:
constДобавишь еще одну матрицу - отработает и на ней тоже... Успехов... |
infiniti |
![]()
Сообщение
#17
|
Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: ![]() ![]() ![]() |
Огромное спасибо!!!
![]() |
infiniti |
![]()
Сообщение
#18
|
Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: ![]() ![]() ![]() |
VOLVO!
Cпасибо огромное!!! Вчера добавил еще одну матрицу, все работает. Но не все понятно. С процедурой принт все ясно, а вот дальше ![]() ![]() Сообщение отредактировано: infiniti - 20.05.2007 19:33 |
![]() ![]() |
![]() |
Текстовая версия | 12.08.2025 8:29 |