Матрицы произвольной размерности, Гибкая подпрограмма для обработки матриц |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Матрицы произвольной размерности, Гибкая подпрограмма для обработки матриц |
Reza |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: 0 |
Блин вообще воткнуть не могу как делать. Помогите плZZ с прогой,а то преподы съедят. Надо сделать гибкую подпрограмму для обработки матриц произвольного порядка с фиксированным базовым типом... Даны 2 квадратные матрицы разных порядков. Для каждой из матриц, если суммы элементов строк матрицы различны то транспонировать матрицу.
|
volvo |
Сообщение
#2
|
Гость |
Код type TType = Integer; arrType = array[0 .. pred(maxint div sizeof(TType))] of TType; procedure proc(var ar; const n: integer); var a: arrType absolute ar; function ix(row, col: integer): integer; begin ix := pred(row) * n + pred(col) end; var i, j: integer; begin for i := 1 to n do for j := 1 to n do a[ ix(i, j) ] := random(20); end; var arr: array[1 .. 5, 1 .. 5] of TType; i, j: integer; begin proc(arr, 5); for i := 1 to 5 do begin for j := 1 to 5 do write(arr[i, j]: 6); writeln end; end. Идея понятна? Кстати, функции транспонирования матрицы выложены в FAQ... |
Reza |
Сообщение
#3
|
Новичок Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: 0 |
Цитата(volvo @ 2.03.05 12:19) Идея понятна? Кстати, функции транспонирования матрицы выложены в FAQ... Не совсем.. Всё равно большое спасибо |
Reza |
Сообщение
#4
|
Новичок Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: 0 |
Запарился писать эту прогу.... Помогите пожалуйста с конкретным решением этой задачи..Спасибо
|
volvo |
Сообщение
#5
|
Гость |
Reza, а что именно не получается? Пример обработки матрицы любой размерности в отдельной процедуре я привел, найти сумму элементов строк, скорее всего, труда не составит; транспонирование матрицы можно найти в ФАКе. Так в чем проблема? Что, нужно написать за Вас ВСЮ программу?
|
Reza |
Сообщение
#6
|
Новичок Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: 0 |
Цитата(volvo @ 2.03.05 23:39) Reza, а что именно не получается? Пример обработки матрицы любой размерности в отдельной процедуре я привел, найти сумму элементов строк, скорее всего, труда не составит; транспонирование матрицы можно найти в ФАКе. Так в чем проблема? Что, нужно написать за Вас ВСЮ программу? Я начинающий, только 1 курс, мне сложно это всё скомпоновать,чтобы получилась рабочая программа ... |
volvo |
Сообщение
#7
|
Гость |
А разобраться сможешь, в том что я сделал? ;) Тогда смотри...
Прикрепленные файлы __REZA.PAS ( 1.62 килобайт ) Кол-во скачиваний: 297 |
Reza |
Сообщение
#8
|
Новичок Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: 0 |
Цитата(volvo @ 3.03.05 14:05) А разобраться сможешь, в том что я сделал? ;) Тогда смотри... Слушай мужик, спасибо! :thanks: Ты даже представить не можешь как ты мне помог! Я всё понял,только немного не догоню чё делает функция "ix"? Я думал в нашей стране нет людей, которые могут помоч, не требуя ничего взамен. Молодцы!!! Делаете доброе дело!! Огромный thanks & Respect!!! |
volvo |
Сообщение
#9
|
Гость |
Функция Ix преобразует "двумерные индексы" в "одномерные", т.к. для универсальности я пользуюсь именно одномерными массивами при работе с матрицами...
|
Guest |
Сообщение
#10
|
|||
Гость |
не поможете с проблемкой? задание было таковым: составить матрицу размерностью 7х8, вывести ее. Сформировать одномерный массив из сумм положительных элементов каждой строки матрицы. Вывести массив на экран.
Не могу найти где баг. Program matrica;
|
|||
klem4 |
Сообщение
#11
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Еще покороче можно :
uses crt; -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Дож |
Сообщение
#12
|
|||
Бывалый Группа: Пользователи Сообщений: 179 Пол: Мужской Репутация: 1 |
Guest, в строке
For j:=1 to 8 Ты пробегаешься не по строке, а по столбцау. (klem4, с твоим кодом не разбирался, но там вроде та же ошибка)
-------------------- Доброго времени суток.
:nnn: |
|||
volvo |
Сообщение
#13
|
Гость |
Цитата(Дож @ 28.11.2005 20:24) Ты пробегаешься не по строке, а по столбцау. Ты действительно думаешь, что циклом по второму индексу матрицы мы пробегаем по СТОЛБЦУ? a[1, 1] a[1, 2] a[1, 3] ... это - по столбцу? Цитата(Правила Раздела) 8. Спрашивайте и отвечайте четко и по существу!!! Ты решил, что правила уже НЕ ДЛЯ ТЕБЯ? Думать начнешь, прежде чем ответить? |
Guest |
Сообщение
#14
|
Гость |
спасибо большое
|
Текстовая версия | 19.05.2024 17:25 |