1.
uses crt;
type
Tmass=array[1..20] of real;
Tmatrix=array[1..20] of Tmass;
var a:Tmatrix; {матрица исходная}
i,j:integer; {Счетчики}
finp:text;
BEGIN
ClrScr;
Assign(finp, 'ishodnik.txt');
Reset(finp);
for i:=1 to 7 do begin
readln(finp);
for j:=1 to 3 do
read(finp,a[i,j]);
read(finp,b[i]);
end;
Close(finp);
writeln('Matrica:');
for i:=1 to 7 do begin
for j:=1 to 3 do
write(a[i,j]:7:2);
writeln;
end;
for i:=1 to 7 do begin
for j:1 to 3 do
if A[i,j]>0 then A[i,j]:=0
else
A[i,j]:=1;
end;
writeln('Rezyltat:');
for i:=1 to 7 do begin
for j:=1 to 3 do
write(a[i,j]:7:2);
writeln;
end;
readln;
end.
как-то так, думаю с дебагом и принципом разберешься сам.
ishodnik.txt должен выглядеть так:
5 -9 3 7 24 12 1
-5 -8 8 6 255 2 4
-9 -6 9 -3 35 4 5
Числа заданные тобой.
2.
uses crt;
type
Tmass=array[1..20] of real;
Tmatrix=array[1..20] of Tmass;
var a:Tmatrix; {матрица исходная}
c:array[1..20] of real; {вспомогательная матрица}
i,j,k,n:integer; {Счетчики}
finp:text;
BEGIN
ClrScr;
Assign(finp, 'ishodnik.txt');
Reset(finp);
for i:=1 to 7 do begin
readln(finp);
for j:=1 to 3 do
read(finp,a[i,j]);
read(finp,b[i]);
end;
Close(finp);
writeln('Matrica:');
for i:=1 to 7 do begin
for j:=1 to 3 do
write(a[i,j]:7:2);
writeln;
end;
for i:=1 to 7 do
begin
for j:=1 to 3 do
if ((i mod 2)=0) then
begin
n:=k;
k:=k+1;
c[k]:=A[i,j];
if a[i,j]<c[i] then
c[k]:=a[i,j];
end;
writeln('Minemalnue 4isla:');
for k:=1 to n do begin
write(c[k]:7:2);
writeln;
end;
readln;
end.
3. С этим нужно повозиться, но в целом алгоритм такой:
Считывая матрицу, записываешь в два массива. Один оригинальный, второй из модулей. Во втором массиве под диагональю меняем числа на нули, считаем сумму построчно, записываем в одномерный массив. Потом сравниваем, находим наибольшее число из одномерного массива, где записывали сумму элементов. Индекс ячейки этого массива будет номером строки. Делаем вывод
ЗЫ. Писал в блокноте.