C/C++

Задание по информатике в Pascal !!!!!!

Имеются два массива: массив абсцисс X(n) и массив ординат Y(n) Написать программу для нахождения величины
Px, – произведение абсцисс точек, принадлежащих внутренности единичного круга с центром в точке (2,-3)
Sy –– cумма ординат точек, принадлежащих внутренности единичного круга с центром в точке (2,-3) k- количество таких точек
DI
Den Ivanov
385
С рандомными динамическими массивами:
 uses crt; 
var i, k, N: integer;
a, b, p, s: real;
X, Y: array of real;
begin
textbackground(white);
clrscr();
textcolor(black);
write('a b N: ');
readln(a, b, N);
setlength(X, N);
setlength(Y, N);
randomize();
p := 1;
s := 0;
for i := 0 to N-1 do
begin
X[i] := a + (b-a)*random(2147483647)/2147483646;
Y[i] := a + (b-a)*random(2147483647)/2147483646;
write(i+1: 5, ')', X[i]: 20:15, Y[i]: 20:15);
if (sqr(X[i]-2)+sqr(Y[i]+3)) 0 then writeln(k, ' ', p, ' ', s)
end.
Координаты N точек берутся из диапазона [a;b]. При выводе координаты точки, попадающей в указанный единичный круг радиуса 1, отмечаются звёздочками:
Спец Автотехцентр
Спец Автотехцентр
66 572
Лучший ответ
Заданию по Pascal не место в разделе C/C++ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ;)
Den Ivanov ой! оно автоматически поставилось)
Конечно! Вот пример программы на языке Pascal, который решает вашу задачу:

```pascal
program CirclePoints;

const
n = 100; // Максимальное количество точек

type
TPoint = record
x, y: Real;
end;

var
X: array[1..n] of Real; // Массив абсцисс
Y: array[1..n] of Real; // Массив ординат
center: TPoint; // Центр круга
Px: Real; // Произведение абсцисс точек
Sy: Real; // Сумма ординат точек
k: Integer; // Количество точек
i: Integer; // Счетчик

function IsInsideCircle(point: TPoint; center: TPoint): Boolean;
begin
// Проверяем, находится ли точка внутри круга с радиусом 1 и заданным центром
if Sqrt(Sqr(point.x - center.x) + Sqr(point.y - center.y)) < 1 then
Result := True
else
Result := False;
end;

begin
// Ввод данных
WriteLn('Введите координаты точек:');
for i := 1 to n do
begin
Write('X[', i, ']: ');
ReadLn(X[i]);
Write('Y[', i, ']: ');
ReadLn(Y[i]);
end;

// Инициализация переменных
center.x := 2;
center.y := -3;
Px := 1;
Sy := 0;
k := 0;

// Обработка точек
for i := 1 to n do
begin
if IsInsideCircle(TPoint(X[i], Y[i]), center) then
begin
// Увеличиваем количество точек
Inc(k);
// Умножаем абсциссу на Px
Px := Px * X[i];
// Суммируем ординаты
Sy := Sy + Y[i];
end;
end;

// Вывод результатов
WriteLn('Результаты:');
WriteLn('Произведение абсцисс точек: ', Px);
WriteLn('Сумма ординат точек: ', Sy);
WriteLn('Количество точек внутри круга: ', k);

ReadLn;
end.
```

Программа позволяет ввести координаты точек, а затем находит произведение абсцисс точек `Px`, сумму ординат точек `Sy` и количество точек `k`, находящихся внутри единичного круга с центром в точке (2,-3).
Павел Строгов
Павел Строгов
14 368