Помогите пожалуйста с задачкой. Даны два массива определенной длины,определяющие...

0 голосов
33 просмотров

Помогите пожалуйста с задачкой.
Даны два массива определенной длины,определяющие координаты точек на плоскости.Задать значение случайным образом , и вычислить расстояние от начало координат до каждой точки .
Найти номер точки ближайшей к началу координат


Информатика (45 баллов) | 33 просмотров
0

В каждом массиве две точки? Или в двух массивах - две точки, по одной на массив

0

в двух массивах две точки

0

Спасибо огромное )))

0

скажите пожалуйста , если программа вылетает , не работает что делать ?

0

В каком Паскале запускаете?

0

Free PAscal

0

Вы ReadLn в конце приписали? Прямо перед End.

0

да тогда программа не открывается , ошибку выдает

0

Достаточно создать текстовый файл, скопировать туда программу, а затем сменить расширение с .txt на .pas. Затем уже во Фрии Паскале открыть, скомпилировать и запустить. У меня всё на всех Паскалях работает. Что Вы пытаетесь сделать?

0

все спасибо сделалось )

Дан 1 ответ
0 голосов
Правильный ответ

Const
   N = 13;
Var
   A,B:array[1..N] of integer;
   i:integer;
   S1,S2:real;
Begin
Randomize;
S1:=0;
S2:=0;
Write('A(');
For i:= 1 to N-1 do
    Begin
    A[i]:=random(201)-100;
    Write(A[i],',')
    End;
A[N]:=random(201)-100;
Write(A[N],')');
WriteLn;

Write('B(');
For i:= 1 to N-1 do
    Begin
    B[i]:=random(201)-100;
    Write(B[i],',')
    End;
B[N]:=random(201)-100;
Write(B[N],')');
WriteLn;
WriteLn;
Write('|A| = ');
For i:= 1 to N do
    Begin
    S1:=S1+A[i]*A[i];
    End;
S1:=Sqrt(S1);
WriteLn(S1);
Write('|B| = ');
For i:= 1 to N do
    Begin
    S2:=S2+B[i]*B[i];
    End;
S2:=Sqrt(S2);
WriteLn(S2);
WriteLn;
Write('Ближайшая точка: ');
if S1 < S2 then WriteLn('A')
else WriteLn('B')
End.

(34.0k баллов)