Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

По Паскалю

Сергей М Ученик (153), закрыт 17 лет назад
Как узнать: принадлежит ли точка квадрату или нет?
Дополнен 17 лет назад
Не, си не знаю, но попробую разобраться
Shadow Знаток (403) 17 лет назад
Если знаешь Си разбирайся. А то объяснять лениво.

#include <stdio.h>
void main(void)
{
float x; //Переменная для значений координаты Х
float y; //Переменная для значений координаты Y
float a; //Переменная для значений A
char c;
int fields; //Переменная для значений возвращаемых функцией scanf
printf ("\n Программа для проверки попадания точки в область");
do
{

do
{

printf ("\n Введите координату X: ");
fflush(stdin); //Очистка буфера
fields = scanf ("%f", &x);

if (fields == 0)//Проверка возвращаемого значения функции scanf
printf("\n Date Error. Input again.");
}
while(fields == 0);

do
{
printf ("\n Введите координату Y: ");
fflush(stdin);
fields = scanf ("%f", &y);

if (fields == 0)
printf("\n Date Error. Input again.");
}
while(fields == 0);

do
{
printf ("\n Введите A: ");
fflush(stdin);
fields = scanf ("%f", &a);

if (fields == 0)
printf("\n Date Error. Input again.");
}
while(fields == 0);

//+++
printf ("\n %1.15f", x );
printf ("\n %1.15f", y );
printf ("\n 1 %1.15f", (x*x + y*y) );
printf ("\n 2 %1.15f", 0.8f*0.8f + 0.6f*0.6f );
printf ("\n 3 %d", (int)((x * x) + (y * y)) == 1 );
//+++

if ( ((x*x + y*y) < 1.0) && (y > a)) //Проверка попадает ли точка в область
printf ("\n Точка попадает в область");

else
if (((x * x) + (y * y) == 1.0 && y >= a) || ((x * x) + (y * y) <= 1.0 && y == a)) //Проверка попадает ли точка на границу области
printf ("\n Точка лежит на границе области");

else
printf ("\n Точка не попадает в область");

printf ("\n Для повтора нажмите Y ");
fflush(stdin);
scanf ("%c", &c);

}
while (c == 'Y' || c == 'y');
}
Похожие вопросы