![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() Доброго времени суток всем!
Дано: две квадратные матрицы (два двумерных массива) 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 и т.д.... Ну и самое интересное))) Текст моей программы: Код:
program laba_6; uses crt; const n=4; const m=4; var S,R,RoS: array[1..n,1..m] of real; K1,K2,K3,K4: array[1..n,1..m] of real; {vspomogatel`nye massivy dlya ras4etov} i,j: integer; begin clrscr; for i:=1 to n do begin for j:=1 to m do begin writeln('Vvedite massiv R=> '); readln(R[i,j]); end; end; for i:=1 to n do begin for j:=1 to m do begin writeln('Vvedite massiv S=> '); readln(S[i,j]); end; end; writeln('Isxodnyi massiv R=> '); for i:=1 to n do begin for j:=1 to m do begin write(' ',R[i,j]:4:1); end; writeln; end; writeln('Isxodnyi massiv S=> '); for i:=1 to n do begin for j:=1 to m do begin write(' ',S[i,j]:4:1); end; writeln; end; writeln('1-ya stroka massiva R sravnivaetsya so vsemi stolbcami massiva S'); for i:=1 to n do begin for j:=1 to m do begin if R[1,j]<=S[j,i] then K1[i,j]:=R[1,j] else K1[i,j]:=S[j,i]; write(' ',K1[i,j]:4:1); end; writeln; end; writeln('2-ya stroka massiva R sravnivaetsya so vsemi stolbcami massiva S'); for i:=1 to n do begin for j:=1 to m do begin if R[2,j]<=S[j,i] then K2[i,j]:=R[2,j] else K2[i,j]:=S[j,i]; write(' ',K2[i,j]:4:1); end; writeln; end; writeln('3-ya stroka massiva R sravnivaetsya so vsemi stolbcami massiva S'); for i:=1 to n do begin for j:=1 to m do begin if R[3,j]<=S[j,i] then K3[i,j]:=R[3,j] else K3[i,j]:=S[j,i]; write(' ',K3[i,j]:4:1); end; writeln; end; writeln('4-ya stroka massiva R sravnivaetsya so vsemi stolbcami massiva S'); for i:=1 to n do begin for j:=1 to m do begin if R[4,j]<=S[j,i] then K4[i,j]:=R[4,j] else K4[i,j]:=S[j,i]; write(' ',K4[i,j]:4:1); end; writeln; end; writeln('RoS=>'); for i:=1 to n do begin for j:=1 to m do begin if K1[1,j]>=K1[1,1] then RoS[1,1]:=K1[1,j]; if K1[2,j]>=K1[2,1] then RoS[1,2]:=K1[2,j]; if K1[3,j]>=K1[3,1] then RoS[1,3]:=K1[3,j]; if K1[4,j]>=K1[4,1] then RoS[1,4]:=K1[4,j]; if K2[1,j]>K2[1,1] then RoS[2,1]:=K2[1,j]; if K2[2,j]>K2[2,1] then RoS[2,2]:=K2[2,j]; if K2[3,j]>K2[3,1] then RoS[2,3]:=K2[3,j]; if K2[4,j]>K2[4,1] then RoS[2,4]:=K2[4,j]; if K3[1,j]>K3[1,1] then RoS[3,1]:=K3[1,j]; if K3[2,j]>K3[2,1] then RoS[3,2]:=K3[2,j]; if K3[3,j]>K3[3,1] then RoS[3,3]:=K3[3,j]; if K3[4,j]>K3[4,1] then RoS[3,4]:=K3[4,j]; if K4[1,j]>K4[1,1] then RoS[4,1]:=K4[1,j]; if K4[2,j]>K4[2,1] then RoS[4,2]:=K4[2,j]; if K4[3,j]>K4[3,1] then RoS[4,3]:=K4[3,j]; if K4[4,j]>K4[4,1] then RoS[4,4]:=K4[4,j]; write(' ', RoS[i,j]:4:1); end; writeln; end; readln; end. |