25.11.2007, 09:44
общий
это ответ
Здравствуйте, Lifestyle!
В решении первой задачи использовал процедуры. В начале создаю две матрицы потом из второй извлекаю максимальный элемент для каждой строки. В конце умножаю каждый элемент полученого вектора на каждый элемент первой матрицы.
В решении второй задачи (транспонирование матрицы) просто переписал элементы матрицы.
Приложение:
{110325_1}uses crt;const N=10;type vector = array[1..10]of integer; matrix = array[1..10] of vector;var A,B:matrix; V :vector;procedure init_matrix(var X:matrix);var i,j:integer;begin for i:=1to N do begin for j:=1to N do begin X[i,j]:=1+random(10); end; end;end;procedure output_matrix(X:matrix);var i,j:integer;begin for i:=1to N do begin for j:=1to N do begin if j=N then begin write(X[i,j]:4); writeln; end else begin write(X[i,j]:4); end; end; end;end;procedure get_max_vector(var Y:vector;X:matrix);var i,j,max:integer;begin for i:=1to N do begin max:=X[i,1]; for j:=1to N do begin if X[i,j]>max then max:=X[i,j]; end; Y[i]:=max; end;end;procedure multiplication(var X:matrix;Y:vector);var i,j:integer;begin for i:=1to N do begin for j:=1to N do begin X[i,j]:=X[i,j]*Y[i]; end; end;end;begin clrscr; randomize; textmode(co80+font8x8); init_matrix(A); init_matrix(B); output_matrix(A); writeln; output_matrix(B); get_max_vector(V,B); multiplication(A,V); writeln; output_matrix(A); readln;end.{110325_2}uses crt;const N=10;type vector = array[1..10]of integer; matrix = array[1..10] of vector;var A:matrix;procedure init_matrix(var X:matrix);var i,j:integer;begin for i:=1to N do begin for j:=1to N do begin X[i,j]:=1+random(10); end; end;end;procedure output_matrix(X:matrix);var i,j:integer;begin for i:=1to N do begin for j:=1to N do begin if j=N then begin write(X[i,j]:4); writeln; end else begin write(X[i,j]:4); end; end; end;end;procedure trip_the_matrix(var X:matrix);var i,j:integer; tmp:matrix;begin for i:=1to N do begin for j:=1to N do begin tmp[j,i]:=X[i,j]; end; end; X:=tmp;end;begin clrscr; randomize; textmode(co80+font8x8); init_matrix(A); output_matrix(A); trip_the_matrix(A); writeln; output_matrix(A); readln;end.