PHP код:
{$D+}
uses crt;
var a: array[1..10,1..10] of Integer;
Harak: array[1..10] of Integer; { Характеристика }
x,y,z: Integer;
procedure Pere;
var T: Integer;
begin
for x:=1 to 10 do for y:=x to 10 do
begin
if Harak[x]>Harak[y] then
begin
for z:=1 to 10 do
begin
T:=a[z,x];
a[z,x]:=a[z,y];
a[z,y]:=T;
end;
T:=Harak[x];
Harak[x]:=Harak[y];
Harak[y]:=T;
end;
end;
end;
begin
Clrscr;
TextAttr:=7;
Randomize;
for y:=1 to 10 do Harak[y]:=0;
for x:=1 to 10 do for y:=1 to 10 do a[x,y]:=Random(100)-50;
for y:=1 to 10 do
begin
for x:=1 to 10 do if (a[x,y]<0) and (Odd(x)) then Dec(Harak[y],a[x,y]);
end;
for x:=1 to 10 do
begin
for y:=1 to 10 do Write(a[x,y]:5,' '); {Столбец(y) - строка(x)}
WriteLn;
end;
for y:=1 to 10 do Write(Harak[y]:5,' ');
WriteLn;
Pere;
for x:=1 to 10 do
begin
for y:=1 to 10 do Write(a[x,y]:5,' '); {Столбец(y) - строка(x)}
WriteLn;
end;
for y:=1 to 10 do Write(Harak[y]:5,' ');
WriteLn;
end.
KD> 2)Hайти сумму элементов в тех столбцах, которые содержат хотябы
KD> один отрицательный элемент(оформить в виде функции).
{$D+}
uses crt;
var a: array[1..10,1..10] of Integer;
Summa: array[1..10] of Integer; { Сумма }
x,y: Integer;
function Najti: Boolean;
var T: Integer;
begin
Najti:=False;
begin
for x:=1 to 10 do if a[x,y]<0 then Najti:=True;
end;
end;
begin
Clrscr;
TextAttr:=7;
Randomize;
for x:=1 to 10 do for y:=1 to 10 do a[x,y]:=Random(100)-10;
for y:=1 to 10 do Summa[y]:=0;{Заполняем массив}
for y:=1 to 10 do if Najti then for x:=1 to 10 do Inc(Summa[y],a[x,y]);
for x:=1 to 10 do
begin
for y:=1 to 10 do Write(a[x,y]:5,' '); {Столбец(y) - строка(x)}
WriteLn;
end;
for y:=1 to 10 do Write(Summa[y]:5,' '); {Столбец(y) - строка(x)}
WriteLn;
end.
KD> 3)Для заданной матицы размером 8х8 найти такие К, что К-ая строка
KD> матрицы совпадает с К-ым столбцом. (оформить в виде процедуры).
{$A+,B+,D+,E-,F+,G+,I+,L-,N+,O+,P-,Q-,R+,S+,T-,V+,X+}
{$M 32000,0,655360}
uses crt;
var a: array[1..8,1..8] of Integer; {Матрица}
x,y: Integer;
procedure Iskat;
var Flag: Boolean;
begin
for x:=1 to 8 do
begin
Flag:=True;
for y:=1 to 8 do if a[x,y]<>a[y,x] then Flag:=False;
if Flag then WriteLn(x);
end;
end;
begin
Clrscr;
TextAttr:=7;
Randomize;
for x:=1 to 8 do for y:=1 to 8 do a[x,y]:=Random(2); {Заполняем массив}
Iskat;
for x:=1 to 8 do
begin
for y:=1 to 8 do Write(a[x,y]:5,' '); {Столбец(y) - строка(x)}
WriteLn;
end;
end.
KD> 4)Hайти сумму элементов в тех строках, которые содержат хотя бы
KD> один отрицательный элемент. (оформить в виде функции).
{$D+}
uses crt;
var a: array[1..10,1..10] of Integer;
Summa: array[1..10] of Integer; { Сумма }
x,y: Integer;
function Najti: Boolean;
var T: Integer;
begin
Najti:=False;
begin
for y:=1 to 10 do if a[x,y]<0 then Najti:=True;
end;
end;
begin
Clrscr;
TextAttr:=7;
Randomize;
for x:=1 to 10 do for y:=1 to 10 do a[x,y]:=Random(100)-10;
for y:=1 to 10 do Summa[y]:=0;{Заполняем массив}
for x:=1 to 10 do if Najti then for y:=1 to 10 do Inc(Summa[x],a[x,y]);
for x:=1 to 10 do
begin
for y:=1 to 10 do Write(a[x,y]:5,' '); {Столбец(y) - строка(x)}
WriteLn(Najti:5,' ',Summa[x]);
end;
end.