| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Object Pascal: кроссплатформенные технологии > Turbo pascal - композиция двух двумерных массивов |
| Автор: ulala 9.11.2011, 10:03 | ||
| Доброго времени суток всем! Дано: две квадратные матрицы (два двумерных массива) R и S. Требуется: сравнить первую строку массива R с первым столбцом массива S и выбрать из них минимумы. Затем сравнить первую строку массива R со вторым столбцом массива S и выбрать из них минимумы и т.д. сравнивать первую строку массива R со всеми столбцами массива S и выбирать минимумы. А потом сравнивать уже вторую строку массива R со всеми столбцами массива S и выбирать минимумы. Т.е. каждая строка массива R поочерёдно сравнивается со всеми столбцами массива S, выбираются минимумы. Потом из полученных минимумов выбрирается максимум - и он будет первым элементом нового массива RoS, который является композицией. Пример: массив R 1 0,8 0,7 0,5 0,8 1 0,9 0,6 0,7 0,9 1 0,8 0,5 0,6 0,8 1 массив S 1 0,9 0,7 0,3 0,9 1 0,3 0,2 0,7 0,3 1 0,4 0,5 0,2 0,1 0 1я строка с 1ым столбцом: (1;1) (0,8;0,9) (0,7;0,7) (0,3;0,5)=1;0,8;0,7;0,3 - минимумы; 1 - максимум из минимумов 1я строка со 2ым столбцом: (1;0,9) (0,8;1) (0,7;0,3) (0,5;0,2)=0,9;0,8;0,3;0,2 - минимумы; 0,9 - максимум из минимумов 1я строка с 3им столбцом: (1;0,7) (0,8;0,3) (0,7;1) (0,5;0,1)=0,7;0,3;0,7;0,1 - минимумы; 0,7 - максимум из минимумов 1я строка с 4ым столбцом: (1;0,3) (0,8;0,2) (0,7;0,4) (0,5;0)= 0,3;0,2;0,4;0 минимумы; 0,4 - максимум из минимумов Т.о., 1ая строка искомого массива (композиции) будет выглядеть так: RoS=1 0,9 0,7 0,4 Далее мы сравниваем 2ую строку массива R поочерёдно со всеми столбцами массива S и получаем 2ую строку искомого массива RoS и т.д.... Ну и самое интересное))) Текст моей программы:
Т.е. хорошо конечно что я сравниваю 1ю строку, 2ю строку и т.д., прописывая номер строки прямо в коде. Но у меня массивы 4х4. А если они будут 100х100? Не прописывать же R[1,j]..R[100,j]! Короче, код у меня левый и "не универсальный" как скажет препод. Подскажите, пожалуйста, как сделать этот код подходящим для массивов любых размерностей от 2х2 до бесконечность х бесконечность? Заранее спасибо всем откликнувшимся! |
| Автор: Yanis 9.11.2011, 13:29 |
| Почитайте про массивы http://www.maksakov-sa.ru/TeorDelphi/MassivDelphi/index.html |
| Автор: ulala 9.11.2011, 14:51 |
| volvo877, спасибо! |