Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Геометрическая фигура круг - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка компиляции http://www.cyberforum.ru/cpp-beginners/thread771354.html
#include <iostream> using namespace std; int main() { cout<< "Hello world!"; return 0; }
C++ Односвязный список (за первым вхождением элемента с заданным значением z добавить все элементы списка В) Дан непустой лин.односвяз список А в список А за первым вхождением элемента с заданным значением z добавить все элементы списка В. http://www.cyberforum.ru/cpp-beginners/thread771351.html
C++ Массив структур через for
Составить программу, в которой описывается структура из полей: Название товара, Цена, Размер партии товара (в штуках). Организовать ввод двух структурных переменных, вывод каждой структуры на экран и...
C++ Перевод из десятичной системы счисления в восьмиричную с плавующей запятой
Здравствуйте , помогите доделать программу,проблема в том что она переводит всего одну цифру после запятой,надо восемь. #include <iostream> #include<math.h> #include<string.h> using namespace...
C++ Пары в векторе http://www.cyberforum.ru/cpp-beginners/thread771264.html
Задан вектор в 200 чисел который рандомно заполнен в диапазоне от -50 до 50 . Нужно из этого безобразия получить количество отрицательных и положительных чисел, которые стоят рядом( пример -...
C++ Дан файл, содержащий текст на русском языке Дан файл, содержащий текст на русском языке. Cоставить в алфавитном порядке список всех слов, встречающихся в этом тексте. Есть код в паскале: program laba14; const n = 6; l = 10; var ... подробнее

Показать сообщение отдельно
СПП
25 / 25 / 2
Регистрация: 15.12.2012
Сообщений: 71

Геометрическая фигура круг - C++

25.01.2013, 10:58. Просмотров 724. Ответов 5
Метки (Все метки)

Здравствуйте, столкнулся с такой проблемой,
задание такое, дан круг и точка, выявить, лежит ли точка в круге, на окружности, или вообще нележит
вот мой код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
#include <cstdlib>
#include <clocale>
 
void krug(double cx , double cy, double R, double tx, double ty){
// НЕ ЛЕЖИТ --------------------------
    if(cx+R<tx && cy+R<ty) // например: х(1)+R(3)<tx(5) -> нележит
        std::cout << "Точка нележит на плоскости (1)" << std::endl;
    else if(tx<0){
        if(cx-R>tx && cy-R>ty) // например: х(1)-R(3)<tx(-4) -> нележит т.к. "-2 > -4"
            std::cout << "Точка нележит на плоскости (2)" << std::endl;
    }
// ЛЕЖИТ НА ОКРУЖНОСТИ----------------
    else if(cx+R==tx && cy+R==ty || cx+R==tx || cy+R==ty) // например: x(1)+R(3)=tx(4) -> лежит на окружности
        std::cout << "Точка лежит на окружности (3)" << std::endl;
// ЛЕЖИТ  ----------------------------
    else // например: х(1)+R(3)>tx(3) -> лежит
        std::cout << "Точка лежит внутри круга (4)" << std::endl;
}
int main(){setlocale(LC_ALL,"Rus");
    double cx, cy, R; // -> круг-данные
    std::cout << "Введите х-круга: ";std::cin >> cx;
    std::cout << "Введите у-круга: ";std::cin >> cy;
    std::cout << "введите R-круга: ";std::cin >> R;
    double tx, ty; // точка-данные
    std::cout << "Введите х-точки: ";std::cin >> tx;
    std::cout << "Введите у-точки: ";std::cin >> ty;
    krug(cx,cy,R,tx,ty);
system("pause");
return 0;
}
Код правильный, работает без ошибок, компилятор ни на что не ругается
Но когда я тестил программу. выявил такую проблему, что я немогу её исправить
Я покажу на картинке
Геометрическая фигура круг
я ввожу коортината круга: х=1, у=1, R=1, точки: х=2, у=2
и мне компилятор выдаёт что точка лежит на окружности, а должно выводить что оно нележит
я незнаю в чём проблема ведь R=1

Помогите пожалуйста, как мне правильно построить круг.

ЗЫ. вот эти "Точка нележит на плоскости (1)" -> (1),(2), (3), (4) , я написал чтобы мне легче было писать циклы if,else, тоесть когда я тестил я проверял все три варианта, и смотрел как я в двухмерно понимаю расположение, и как понимает компьютер, на них можно внимания необращать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru