![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 05.03.2010
Сообщений: 14
|
![]()
Нужно написать программу попадания точки в область... Когда вводим координаты, должно вывести попадает, или нет...
Сама область ![]() С геометрией у меня беда, вот прошу помощи, как "описать" нижний полукруг... Вот до чего я дошел... Код:
![]() Последний раз редактировалось Stilet; 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'е будет Код:
|
|
![]() |
![]() |
![]() |
#3 | |
Пользователь
Регистрация: 05.03.2010
Сообщений: 14
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
![]()
А это определяет тип константы. Поскольку я знаю, что аргумент ф-ии sqrt() должен быть типа double, то я, теоретически, облегчаю жизнь транслятору, заранее приводя все операнды выражения в скобках к double. На самом деле, он (транслятор) и без этой точки преобразование сделает.
Added 15:49 CET Да, заметил, что Вы в первых трёх условиях границу считаете. Ну тогда поставьте и в четвёртом >= вместо > . Последний раз редактировалось Vago; 15.04.2010 в 17: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. Причина: Добавил имг. |
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
![]() |
![]() |
![]() |
![]() |
#7 | |
Пользователь
Регистрация: 05.03.2010
Сообщений: 14
|
![]() Цитата:
![]() |
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
![]() Код:
![]() |
![]() |
![]() |
![]() |
#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; } ![]() |
|
![]() |
![]() |
![]() |
#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 |