Имеются два массива: массив абсцисс X(n) и массив ординат Y(n) Написать программу для нахождения величины
Px, – произведение абсцисс точек, принадлежащих внутренности единичного круга с центром в точке (2,-3)
Sy –– cумма ординат точек, принадлежащих внутренности единичного круга с центром в точке (2,-3) k- количество таких точек
C/C++
Задание по информатике в Pascal !!!!!!
С рандомными динамическими массивами:
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, отмечаются звёздочками:
Заданию по 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).
```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).
Похожие вопросы
- Информатика задание по c++
- Информатика, C++, задание
- Нужна помощь с выполнением заданий в C++
- Информатика 2 курс
- Программа по с++ информатика пожалуйста ю
- Помогите с заданием по программированию язык C(не С++)
- Помогите понять задание С++
- С++ Петя успевает по математике лучше всех в классе, поэтому учитель задал ему сложное домашнее задание,
- Правильно ли решил задание? Решение задания на тему вектор по С++.
- Задание с массивом