有 2 个实数,x 和 y,它们是从键盘输入的。需要检查点是否落入给定区域,该区域是图片。如果是,则满足一个方程,如果不是,则满足另一个方程。我需要帮助检查点是否命中,我不知道该怎么做
#include "stdafx.h"
#include <iostream>
using namespace std;
void main()
{
setlocale(LC_ALL, "Russian");
float x, y, p; char n;
m1: cout << "Ввкдите кординаты точек:";
cout << "\n\t x="; cin >> x;
cout << "\t y="; cin >> y;
if (y >= 0 && x >= 0 && x*x + y * y <= 1 || y >= 0 && x <= 0 && x*x + y * y <= -1)
p = sin(x);
else p = x+2*y;
cout << "\t p=" << p;
cout << "\nПродолжить?: Y/N -> "; cin >> n;
if (n == 'Y') goto m1;
else cout << "Конец\n";
system("PAUSE");
}
] 1
好吧,让我们想想…… 虚线是一个图形
y = |x|,所以点要高,必须满足条件y > |x|。为了在阴影区域 - 你需要执行y*y + x*x < 1(圆和角的交点)。一起 -
或多或少是这样的。
为了不使用函数
abs,可以将不等式写为y*y > x*x && y > 0。符号可以是
<=和>=- 取决于边界点是否应作为图形的一部分考虑在内。http://www.cyberforum.ru/csharp-beginners/thread976436.html