7.найти произведение двух квадратных матриц а(3*3) и в(3*3). 9.дан массив а(3*4). найти номера всех максимальных элементов в каждой строке. 10.дан массив а(3*4). найти в каждой строке сумму элементов, кратных 3. 11.дан массив а(3*4). найти количество элементов в каждой строке, больших среднего арифметического элементов данной строки. паскаль
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;
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.