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