Есть 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
(пересечение круга и угла).
Вместе -
if (y > abs(x) && x*x+y*y < 1) ...
Примерно так.
Можно, чтоб не использовать функцию abs
, записать неравенство как y*y > x*x && y > 0
.
Знаки могут быть <=
и >=
- в зависимости от того, должны ли граничные точки учитываться как часть фигуры.
private static void Main(string[] args)
{
double x = GetCoord("x"), y = GetCoord("y");
Console.WriteLine(y >= x && x >= -1 && y <= 1 ? "Попадает" : "Не попадает");
Console.ReadKey();
}
static double GetCoord(string name = null)
{
Console.Write("Введите координату {0}: ", name ?? "\b");
var input = Console.ReadLine();
try
{
return double.Parse(input, CultureInfo.InvariantCulture);
}
catch
{
Console.WriteLine("Неверный ввод!");
return GetCoord(name);
}
}
http://www.cyberforum.ru/csharp-beginners/thread976436.html
Виртуальный выделенный сервер (VDS) становится отличным выбором
Почему для табов, которые активны (2 и 3), пкм срабатывает, а для 4, который неактивен - не срабатывает? Надо mouseevent'ы включить для него?
Как сравнить написано в LineEdit с каким-нибудь QString и вывести true/false
Добрый день! Занимаюсь по книге Эккеля и столкнулся с ниже представленным примеромНе могу понять, почему на выводе программа всегда выдает...