Даны координаты верхнего левого угла (х1,у1) и правого нижнего угла (х2,у2) прямоугольника. Определить пересекают ли его стороны оси координат и вывести соответствующее сообщение на экран.
a:array[1..n] of integer; //создали одномерный массив длинной 5 b:array[1..n,1..n] of integer; //создали двумерный массив 5х5 i,j:integer; //i,j- счетчик
begin
for i:=1 to n do for j:=1 to n do b[i,j]:=random(10)+1; {задали массив случайными числами в диапазоне от 1 до 10}
for i:=1 to n do begin a[i]:=b[i,i]; //присваиваем i-ому элементу массива элемент i-i. end; //То есть 1-ому, 1-1, 2-ому 2-2. Это и есть главная диагональ.
{вывод двумерного массива на всякий случай: for i:=1 to n do begin for j:=1 to n do begin write(b[i,j],' '); end; writeln(""); end; }
Const m=8; n=6; var a:array[1..m,1..n] of integer; st,t:string; i,j,k,s:integer; begin Write('k='); Read(k); Randomize; Writeln('Исходная матрица A[',m,',',n,']'); st:=''; for i:=1 to m do begin s:=0; for j:=1 to n do begin a[i,j]:=Random(15)-5; // [-5;9] Write(a[i,j]:3); s:=s+a[i,j] end; Writeln; if s>k then begin Str(i,t); if st='' then st:=t else st:=st+','+t end end; if st<>'' then Writeln('Искомые строки: ',st) end.
n=5
var
a:array[1..n] of integer; //создали одномерный массив длинной 5
b:array[1..n,1..n] of integer; //создали двумерный массив 5х5
i,j:integer; //i,j- счетчик
begin
for i:=1 to n do
for j:=1 to n do
b[i,j]:=random(10)+1; {задали массив случайными числами в диапазоне от 1 до 10}
for i:=1 to n do
begin
a[i]:=b[i,i]; //присваиваем i-ому элементу массива элемент i-i.
end; //То есть 1-ому, 1-1, 2-ому 2-2. Это и есть главная диагональ.
{вывод двумерного массива на всякий случай:
for i:=1 to n do
begin
for j:=1 to n do
begin
write(b[i,j],' ');
end;
writeln("");
end; }
For i:=1 to n do
write(a[i]," ");
readln();
end.
m=8;
n=6;
var
a:array[1..m,1..n] of integer;
st,t:string;
i,j,k,s:integer;
begin
Write('k='); Read(k);
Randomize;
Writeln('Исходная матрица A[',m,',',n,']');
st:='';
for i:=1 to m do begin
s:=0;
for j:=1 to n do begin
a[i,j]:=Random(15)-5; // [-5;9]
Write(a[i,j]:3);
s:=s+a[i,j]
end;
Writeln;
if s>k then begin
Str(i,t);
if st='' then st:=t
else st:=st+','+t
end
end;
if st<>'' then Writeln('Искомые строки: ',st)
end.
Пример
k=15
Исходная матрица A[8,6]
3 -5 6 8 0 2
1 1 5 2 0 1
0 -1 1 9 5 8
-1 -2 -3 3 -2 -2
8 7 5 6 5 3
8 -1 7 -3 7 3
3 -5 6 -1 0 4
7 1 9 1 4 6
Искомые строки: 3,5,6,8