Program asd; USES crt; Const n=3; Const m=3; Var A,B,C: Array [1..n, 1..m] Of Integer; i,j,k: Integer; S:Integer; Begin Writeln('A:'); For i:=1 to n do begin for j:=1 to m do begin A[i,j]:=random(n); Write(' ',A[i,j]); end; Writeln; end; Writeln('B:'); For i:=1 to n do begin for j:=1 to m do begin B[i,j]:=random(n); Write(' ',B[i,j]); end; Writeln; end; For i := 1 To n Do Begin For j := 1 To m Do Begin S:= 0; For k:=1 To n Do S:= S + A[i,k] * B[k,j]; C[i, j] := S; End;End; WriteLn ('C:'); For i := 1 To n Do Begin For j := 1 To m Do begin Write (' ',C[i, j] ); End; WriteLn; End; ReadLn; End.
7. Произведение двух матриц - это матрица, каждый член которой есть c(i, j) = Summa(1, k) a(i, k)*b(k, j) То есть надо три цикла друг в друге, а внутри эта формула. for i:=1 to 3 do begin for j:=1 to 3 do begin C[i,j]:=0; for k:=1 to 3 do C[i,j] := C[i,j] + A[i,k]*B[k,j]; end; end; 9. Номера максимальных элементов в каждой строке А(3, 4) сами образуют массив B(3). Цикл такой: for i:=1 to 3 do begin Max = A[i, 1]; for j:= 1 to 4 do if A[i,j] > Max then Max := A[i,j]; B[i]:= j; end;
10. Тоже самое, как в 9 for i:=1 to 3 do begin B[i] = 0; for j:= 1 to 4 do if (A[i,j] mod 3 = 0) then B[i] := B[i] + A[i,j]; end;
11. Сначала заполним массив B[i] средними ариф. по строкам for i:=1 to 3 do begin B[i] = 0; for j:= 1 to 4 do B[i] := B[i] + A[i,j]; B[i] := B[i] / 4; end; А потом найдем в каждой строке A[i,j], сколько элементов больше B[i]. Посчитаем их в счетчике с и запишем обратно в массив B[i]. for i:=1 to 3 do begin c:=0; for j:= 1 to 4 do if A[i,j] > B[i] then c:=c+1; B[i] := c; end;
R13
Объяснение: