Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 31.07.2010, 22:00   #1
fort-_-minor
46KSS
Пользователь
 
Аватар для fort-_-minor
 
Регистрация: 26.07.2010
Сообщений: 58
По умолчанию Попадут ли какие либо координаты в окружность

Добрый вечер Задание такое:
Увести координати п'яти крапок і визначити, яка з них потрапить в окружність з радіусом R і координатами центра (а, b).
Есть пару идей у самого и пару фрагментов кода примерно понимаю что к чему..
Если можно натолкните на мысль как должно происходить (беруться значения подставляются туда то, проверяется лож\ истина) вообщем если угодно какой может быть здесь алгоритм. Исходника понятное дело не прошу
fort-_-minor вне форума
Старый 31.07.2010, 22:12   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

берем уравнение окружности и не паримся
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума
Старый 31.07.2010, 22:46   #3
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,405
По умолчанию

У точек есть координаты x и у.
для каждой точки вычисляем длину отрезка (x,y-a,b). Если длина отрезка меньше R, значит точка в окружности.
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума
Старый 31.07.2010, 23:22   #4
fort-_-minor
46KSS
Пользователь
 
Аватар для fort-_-minor
 
Регистрация: 26.07.2010
Сообщений: 58
По умолчанию

Cпасибо, уже все работает, если кому интересно, вот:
Код:
#include <stdafx.h>
#include <iostream>
#include <cmath>
 
int main()
{
        const int X=5;
        const int Y=2;
        double Points[X][Y];
        double Rad=0, x0=0, y0=0;
        std::cout<<"Enter radius of circle: ";
        std::cin>>Rad;
        std::cout<<"Enter koord of center: ";
        std::cout<<"Enter x0: ";
        std::cin>>x0;
        std::cout<<"Enter y0: ";
        std::cin>>y0;
        for(int i=0;i<X;++i)
        {
                std::cout<<"Enter x and y for "<< i+1 <<" point:\n";
                for(int j=0;j<Y;++j)
                {
                        std::cout<<"Enter "<< j+1 <<"coord for "<< i+1 <<" point: ";
                        std::cin>>Points[i][j];
                }
        }
        for(int i=0;i<X;++i)
        {
                if((pow(Points[i][0]-x0,2)+(pow(Points[i][1]-y0,2))==(pow(Rad,2))))
                {
                        std::cout<<"Point with coords "<< Points[i][0] <<" and "<< Points[i][1] <<" is in circle\n";
                }
                else
                        std::cout<<"Point with coords "<< Points[i][0] <<" and "<< Points[i][1] <<" is not in circle\n";
        }
        return 0;
}
fort-_-minor вне форума
Старый 31.07.2010, 23:28   #5
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,405
По умолчанию

Цитата:
if((pow(Points[i][0]-x0,2)+(pow(Points[i][1]-y0,2))==(pow(Rad,2))))
А почему == ?
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума
Старый 31.07.2010, 23:43   #6
fort-_-minor
46KSS
Пользователь
 
Аватар для fort-_-minor
 
Регистрация: 26.07.2010
Сообщений: 58
По умолчанию

Цитата:
Сообщение от Ulex Посмотреть сообщение
А почему == ?
Для подобного сравнения объектов удобнее всего использовать operator== (не путайте оператор сравнения с оператором присваивания!)
Собственно + еще if говорит вам о сравнении....
Попробуйте запустить программу с 1 =.. Она будет ругаться как то так
Цитата:
error C2106: '=' : left operand must be l-value

Последний раз редактировалось fort-_-minor; 31.07.2010 в 23:45.
fort-_-minor вне форума
Старый 31.07.2010, 23:58   #7
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,405
По умолчанию

Тьфу ты.
Я вас на мысль пытаюсь натолкнуть, а вы мне тут давай объяснять про оператор ==. Да не надо, знаю я что такое этот оператор. В вашей задаче, вот это (см. ниже), считается "is in circle" или нет?
Изображения
Тип файла: jpg Безымянный.jpg (5.2 Кб, 54 просмотров)
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума
Старый 01.08.2010, 00:46   #8
fort-_-minor
46KSS
Пользователь
 
Аватар для fort-_-minor
 
Регистрация: 26.07.2010
Сообщений: 58
По умолчанию

Спс, правы на счет замечания, буду редактировать, завтра весь день впереди, тогда как сделаю отпишу только в понедельник (оплата инета по выходным не работает, а сегодня с 12 отключить должны) Епрст еще и траблы какие то с с++ начались
fort-_-minor вне форума
Старый 01.08.2010, 00:57   #9
FelixXXI
Пользователь
 
Регистрация: 29.03.2010
Сообщений: 48
По умолчанию

Кажется мне, что Ulex интересовался немного не тем, на что получил ответ.
А вопрос он задал правильный:"А почему == ?"

Окружность и круг - 2 разные вещи. Окружность - это круглая линия, да простят меня математики за такое её определение, Круг - это ещё и то, что внутри этой круглой линии.
А вот теперь надо понять, что требуется в задании, искать точки на окружности или или искать точки в кругу.
Если первое, то задача решена верно, если второе, то задача решена неправильно.
Код:
double Rad=0, x0=0, y0=0;
        std::cout<<"Enter radius of circle: ";
        std::cin>>Rad;
        std::cin>>x0;
        std::cin>>y0;
Почему не просто double Rad, x0, y0;


P.S: Пока писал, Ulex и без меня поставил все точки над i

Последний раз редактировалось FelixXXI; 01.08.2010 в 01:01.
FelixXXI вне форума
Старый 01.08.2010, 10:56   #10
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

Цитата:
Сообщение от FelixXXI Посмотреть сообщение
Если первое, то задача решена верно
В самом деле?..
Код:
#include <iostream>
#include <conio.h>
#include <math.h>

main (void) {
   
   const double PI = 4. * atan( 1. ) ;

   double   alpha = PI/4. ,
                R = 1.667 ,
                x0 = 0.f ,
                x = x0 + R * cos( alpha ) ,
                y0 = 0.f ,
                y = y0 + R * sin( alpha ) ;

   std::cout<<"Point with coords "<< x <<" and "<< y <<" is " ;
   if( (pow(x-x0,2.) + pow(y-y0,2.)) == pow(R,2.) ) 
      std::cout << "in circle\n" ;
   else
      std::cout << "not in circle\n" ;
   
   getch() ;
   
}
Vago вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Множества и Окружность Voortex Фриланс 10 05.03.2010 21:16
Есть ли какие-либо API шпионы? И где можно достать =) TwiX Софт 5 15.10.2009 11:42
Можно ли использовать новую форму только дря хранения какого-либо(каких-либо) класса? TwiX Общие вопросы Delphi 8 03.10.2009 11:06
Задача на Vba либо C++ либо Паскале Fraerrrrr Помощь студентам 3 27.05.2009 15:30
Окружность.. surovii Помощь студентам 28 29.03.2009 18:00