C/C++
b - половина стороны. поскольку у квадрата стороны равны, то границы по прямым, перпедикулярным его поверхности, равноудалены на расстояния половины стороны квадрата от его центра.
Я предположил, что точек десять, получилось десять пар координат, поэтому передаётся массив 10х2
Информатика и программирование.
Задан массив точек. Записать и реализовать алгоритм определения того, лежит ли каждая точка внутри квадрата с центром в точке О(x;y) и стороной а. Для проверки принадлежности точки квадрату определить процедуру.
Ваша задача может быть решена с использованием структур данных и функций в C++. Для начала, вам нужно определить структуру для точки, которая содержит два значения: x и y. Затем вам нужно написать функцию, которая проверяет, находится ли точка внутри квадрата.
Вот пример того, как это может быть сделано:
```cpp
#include <vector>
#include <iostream>
struct Point {
double x, y;
};
bool isInSquare(const Point& p, const Point& center, double side) {
double halfSide = side / 2.0;
return p.x >= center.x - halfSide && p.x <= center.x + halfSide &&
p.y >= center.y - halfSide && p.y <= center.y + halfSide;
}
int main() {
Point center = {0.0, 0.0};
double side = 2.0;
std::vector<Point> points = {{1.0, 1.0}, {2.0, 2.0}, {-1.0, -1.0}, {3.0, 0.0}};
for(const auto& p : points) {
if(isInSquare(p, center, side)) {
std::cout << "Point (" << p.x << ", " << p.y << ") is inside the square.\n";
} else {
std::cout << "Point (" << p.x << ", " << p.y << ") is outside the square.\n";
}
}
return 0;
}
```
Функция `isInSquare` принимает точку `p`, которую нужно проверить, `center`, который является центром квадрата, и `side`, который является длиной стороны квадрата. Она возвращает `true`, если точка находится внутри квадрата, и `false` в противном случае.
В функции `main` заданы координаты центра квадрата и длина его стороны. Затем задан массив точек. Для каждой точки вызывается функция `isInSquare` для проверки её положения относительно квадрата. Результат выводится на экран.
Вот пример того, как это может быть сделано:
```cpp
#include <vector>
#include <iostream>
struct Point {
double x, y;
};
bool isInSquare(const Point& p, const Point& center, double side) {
double halfSide = side / 2.0;
return p.x >= center.x - halfSide && p.x <= center.x + halfSide &&
p.y >= center.y - halfSide && p.y <= center.y + halfSide;
}
int main() {
Point center = {0.0, 0.0};
double side = 2.0;
std::vector<Point> points = {{1.0, 1.0}, {2.0, 2.0}, {-1.0, -1.0}, {3.0, 0.0}};
for(const auto& p : points) {
if(isInSquare(p, center, side)) {
std::cout << "Point (" << p.x << ", " << p.y << ") is inside the square.\n";
} else {
std::cout << "Point (" << p.x << ", " << p.y << ") is outside the square.\n";
}
}
return 0;
}
```
Функция `isInSquare` принимает точку `p`, которую нужно проверить, `center`, который является центром квадрата, и `side`, который является длиной стороны квадрата. Она возвращает `true`, если точка находится внутри квадрата, и `false` в противном случае.
В функции `main` заданы координаты центра квадрата и длина его стороны. Затем задан массив точек. Для каждой точки вызывается функция `isInSquare` для проверки её положения относительно квадрата. Результат выводится на экран.
Никич Михалыч
ChatGPT момент
bool yes(double x, double y, double a, double mas[10][2])
{
double b = a / 2.0;
for(int i = 0; i < 10; i++)
{
if(mas[i][0] < x - b
|| mas[i][0] > x + b
|| mas[i][1] > y + b
|| mas[i][1] < y - b)
return false;
}
return true;
}
x,y - координаты центра квадратаb - половина стороны. поскольку у квадрата стороны равны, то границы по прямым, перпедикулярным его поверхности, равноудалены на расстояния половины стороны квадрата от его центра.
Я предположил, что точек десять, получилось десять пар координат, поэтому передаётся массив 10х2
Олег Колесов
на сколько я понял, нужно, чтобы все точки были внутри квадрата, иначе нужна другая функция
Похожие вопросы
- Информатика(Программирование). Перевод с С++ на Паскаль.
- Программирование на С++
- Программирование на C++
- Как начать изучать программирование?
- Доброго дня! Хочу сменить сферу деятельности . Заинтересовал вариант программирования .
- Программирование на C++
- Книги по программированию.
- Может ли новичок в программирование начать с c++/Gamedev
- Чем отличаются языки программирования ???
- На каком языке программирования (Assembler / С / С++) лучше будет написать компилятор для своего языка программирования?