|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
15.04.2010, 15:22 | #1 |
Пользователь
Регистрация: 05.03.2010
Сообщений: 14
|
Попадание точки в область (С++)
Нужно написать программу попадания точки в область... Когда вводим координаты, должно вывести попадает, или нет...
Сама область С геометрией у меня беда, вот прошу помощи, как "описать" нижний полукруг... Вот до чего я дошел... Код:
Последний раз редактировалось Stilet; 15.04.2010 в 15:48. |
15.04.2010, 15:48 | #2 | |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
Цитата:
... Ур-е окружности радиуса R с центром в начале координат: x^2+y^2 = R^2 При R=1: x^2+y^2 = 1 Отсюда y = ±sqrt(1-x^2) С "плюсом" будет та дуга, которая выше оси OX (которая Вам сейчас не нужна), с "минусом" - та, которая ниже. Таким образом, четвёртое условие в Вашем if'е будет Код:
|
|
15.04.2010, 15:58 | #3 | |
Пользователь
Регистрация: 05.03.2010
Сообщений: 14
|
Цитата:
|
|
15.04.2010, 16:28 | #4 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
А это определяет тип константы. Поскольку я знаю, что аргумент ф-ии sqrt() должен быть типа double, то я, теоретически, облегчаю жизнь транслятору, заранее приводя все операнды выражения в скобках к double. На самом деле, он (транслятор) и без этой точки преобразование сделает.
Added 15:49 CET Да, заметил, что Вы в первых трёх условиях границу считаете. Ну тогда поставьте и в четвёртом >= вместо > . Последний раз редактировалось Vago; 15.04.2010 в 17:49. |
16.04.2010, 19:49 | #5 | |
Пользователь
Регистрация: 05.03.2010
Сообщений: 14
|
Цитата:
У меня еще один вопрос, дайте идею - закончу сам, а именно: Эту область найти не трудно, ограничив её y<=-x+1, но как быть с остальными? Это почти не полный ромб... Может кто то, что то посоветует? #include <stdio.h> #include <math.h> #include <conio.h> int main(void) { double x, y; /* koordinati to4ek */ /* vvod */ printf("Vvedite x >"); scanf("%lf",&x); printf("Vvedite y >"); scanf("%lf",&y); /* Vivod */ printf("x=%6.3lf; y=%6.3lf\n",x,y); /* Proverka */ if ( (x>=0) && (y>=0) && (y<=-x+1) || (formula ostalnix 4astei)) printf("Popadaet\n"); else printf("Ne popadaet\n"); getch(); return 0; } Последний раз редактировалось Evgenii90; 16.04.2010 в 20:45. Причина: Добавил имг. |
|
16.04.2010, 20:31 | #6 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
|
16.04.2010, 20:47 | #7 | |
Пользователь
Регистрация: 05.03.2010
Сообщений: 14
|
Цитата:
|
|
16.04.2010, 21:14 | #8 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
Код:
|
16.04.2010, 21:47 | #9 | |
Пользователь
Регистрация: 05.03.2010
Сообщений: 14
|
Цитата:
#include <math.h> #include <conio.h> int main(void) { double x, y; /* koordinati to4ek */ /* vvod */ printf("Vvedite x >"); scanf("%lf",&x); printf("Vvedite y >"); scanf("%lf",&y); /* Vivod */ printf("x=%6.3lf; y=%6.3lf\n",x,y); /* Proverka */ if ( (x<=0) && (y>=0) && (y<=-x+1) || (y>=x-1) || (y<=1-x)) printf("Popadaet\n"); else printf("Ne popadaet\n"); getch(); return 0; } не считает... |
|
16.04.2010, 22:08 | #10 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
По графику определить условия попадения точки в область | Lange | Помощь студентам | 20 | 07.11.2009 15:24 |
Попадание точки в заштрихованную область C# | diman87 | Помощь студентам | 2 | 26.09.2009 14:01 |
входение точки в область, с++ | tipilat | Помощь студентам | 7 | 19.09.2009 00:42 |
Попадание точки в область С++ | Geg[C/c++] | Помощь студентам | 3 | 03.05.2009 12:58 |
Попадание точки в заштрихованную область (программа на условие), C++ 3.1 | #Nii | Помощь студентам | 2 | 16.10.2008 20:22 |