// PascalABC.NET 3.0, сборка 1088 const n=9; m=7; var a:array[1..n,1..m] of integer; b:array[1..n] of boolean; i,j,k:integer; begin Randomize; Writeln('*** Исходный массив ***'); for i:=1 to n do begin k:=0; for j:=1 to m do begin a[i,j]:=Random(225)-112; Write(a[i,j]:5); if a[i,j]<0 Then Inc(k) end; Writeln; b[i]:=k>3 end; Writeln('*** Строки, содержащие больше 3 отрицательных элементов ***'); for i:=1 to n do if b[i] then Write(i,' '); Writeln end.
Расстояние от точки до начала координат находится как длина гипотенузы прямоугольного треугольника, катетами которого являются координаты точки. Поскольку нам нужны не сами расстояния, а лишь сравнить их, то можно сравнивать квадраты, чтобы не извлекать корня.
// PascalABC.NET 3.0, сборка 1088 var x1,x2,y1,y2,r1,r2:real; begin Write('Введите координаты первой точки: '); Read(x1,y1); Write('Введите координаты второй точки: '); Read(x2,y2); r1:=sqr(x1)+sqr(y1); r2:=sqr(x2)+sqr(y2); if r1>r2 then Writeln('Ближе вторая точка') else if r1<r2 then Writeln('Ближе первая точка') else Writeln('Точки равноудалены') end.
Тестовое решение: Введите координаты первой точки: 16.3 -11.7 Введите координаты второй точки: 15.8 12 Ближе вторая точка
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Цикл со счетчиком реализован в языке Паскаль оператором: do… while for … do while… do repeat… until
const
n=9;
m=7;
var
a:array[1..n,1..m] of integer;
b:array[1..n] of boolean;
i,j,k:integer;
begin
Randomize;
Writeln('*** Исходный массив ***');
for i:=1 to n do begin
k:=0;
for j:=1 to m do begin
a[i,j]:=Random(225)-112;
Write(a[i,j]:5);
if a[i,j]<0 Then Inc(k)
end;
Writeln;
b[i]:=k>3
end;
Writeln('*** Строки, содержащие больше 3 отрицательных элементов ***');
for i:=1 to n do
if b[i] then Write(i,' ');
Writeln
end.
Тестовое решение:
*** Исходный массив ***
89 -71 36 -25 -19 60 -28
-60 -35 20 112 -69 29 74
4 -23 -7 -15 107 64 -4
-82 91 102 -90 81 32 -64
41 -44 21 74 77 -77 -100
-38 -36 100 5 -42 54 46
-52 27 -86 -77 90 30 -2
-76 -14 -58 11 67 -91 59
-50 47 -47 12 -84 -76 11
*** Строки, содержащие больше 3 отрицательных элементов ***
1 3 7 8 9