Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Sapendo
5 / 5 / 4
Регистрация: 13.05.2014
Сообщений: 130
1

Определить, находится ли координата на "ободе", или за пределами, или внутри круга (найти ошибку)

13.05.2014, 02:03. Просмотров 582. Ответов 11
Метки нет (Все метки)

Задача: пользователь вводит радиус круга и координату точки (х,у). Нужно определить находиться ли координата на "ободе" круга или за пределами круга или внутри круга!!!
Я написал следующее:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<cmath>
using namespace std;
void main ()
{
int R, x, y;
cout<<"Input radius: \n";
cin>>R;
cout<<"Input x: \n";
cin>>x;
cout<<"Input y: \n";
cin>>y;
if (sqrt(x^2+y^2))
cout<<"Na obode\n";
else
if (((y-R)^2+(x-R)^2)<R^2)
cout<<"V krygy\n";
else cout<<"Za krygom\n";
 
}
Где ошибка?
Всем спасибо!!
P.S. И не осуждайте я только учусь))))
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2014, 02:03
Ответы с готовыми решениями:

Проверить, находится ли точка внутри, на границе, или за пределами треугольника
Дан треугольник и K точек. Для каждой точки нужно определить, где она находится...

Определить лежит ли точка внутри или вне круга,ограниченного указанной окружностью, или на окружности
помогите пожалуйста)) Даны координаты точки (x,y), радиус r и координаты...

Определить, лежит ли точка внутри или вне круга, ограниченного указанной окружностью, или на окружности
Даны координаты точки (x,y), радиус r и координаты центра окружности (x,y)....

Определить, какая из точек "В" или "С" расположены ближе к точке "А".
На оси Ох расположены 3 точки А, В и С. Определить, какая из точек &quot;В&quot; или &quot;С&quot;...

""D:\"" не является внутренней или внешней командой, исполняемой программой или пакетным файлом
Только начал изучать С++, и уже в самом начале напоролся на ошибку. Перерыл...

11
malfoi
50 / 50 / 61
Регистрация: 17.12.2013
Сообщений: 333
13.05.2014, 02:07 2
в 12 строке нет сравнения с радиусом)
0
uhx
60 / 60 / 19
Регистрация: 11.07.2013
Сообщений: 304
13.05.2014, 02:08 3
^ - это оператор XOR
Тогда как для возведения в степень используется pow(double число, double степень)
0
malfoi
50 / 50 / 61
Регистрация: 17.12.2013
Сообщений: 333
13.05.2014, 02:10 4
да, и лучше воспользуйтесь не целым типом данных int, а вещественным double
0
Sapendo
5 / 5 / 4
Регистрация: 13.05.2014
Сообщений: 130
13.05.2014, 02:13  [ТС] 5
malfoi спасибо, но это не все((((
где-то еще ошибка либо может я не правильно написал программу(((
Посмотри еще раз!!!
0
malfoi
50 / 50 / 61
Регистрация: 17.12.2013
Сообщений: 333
13.05.2014, 02:15 6
Цитата Сообщение от uhx Посмотреть сообщение
^ - это оператор XOR
Тогда как для возведения в степень используется pow(double число, double степень)
может это?
или для возведения в квадрат перемножь это число на себя
0
uhx
60 / 60 / 19
Регистрация: 11.07.2013
Сообщений: 304
13.05.2014, 02:15 7
Цитата Сообщение от Sapendo Посмотреть сообщение
malfoi спасибо, но это не все((((
где-то еще ошибка либо может я не правильно написал программу(((
Посмотри еще раз!!!
Прочитайте мое сообщение, пожалуйста.
XOR - логический оператор, а вы почему-то подумали, что это возведение в степень и теперь используете его в условиях. Соответственно они будут срабатывать/не срабатывать в разных случаях, что приведет к неправильному ответу.
0
Sapendo
5 / 5 / 4
Регистрация: 13.05.2014
Сообщений: 130
13.05.2014, 02:20  [ТС] 8
uhr подскажите пожалуйста как прописывать тогда приведение в степень???
0
rikimaru2013
C++ Game Dev
2473 / 1141 / 349
Регистрация: 30.11.2013
Сообщений: 3,709
13.05.2014, 02:21 9
Цитата Сообщение от Sapendo Посмотреть сообщение
uhr подскажите пожалуйста как прописывать тогда приведение в степень???
x*x
0
Sapendo
5 / 5 / 4
Регистрация: 13.05.2014
Сообщений: 130
13.05.2014, 02:24  [ТС] 10
rikimaru2013 это ясно я думал есть какой-то алгоритм типа sqrt(x+y)!
P.S. Если я не правильно выражаюсь, я прошу прощение!
0
rikimaru2013
C++ Game Dev
2473 / 1141 / 349
Регистрация: 30.11.2013
Сообщений: 3,709
13.05.2014, 02:26 11
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
#include <cmath>
#include <iostream>
 
using namespace std;
void main ()
{
    int R, x, y;
    cout<<"Input radius: \n";
    cin>>R;
    cout<<"Input x: \n";
    cin>>x;
    cout<<"Input y: \n";
    cin>>y;
 
    double TEMP = sqrt(x*x + y*y);
 
    if (R == TEMP)
        cout<<"Na obode\n";
    else if (R > TEMP)
        cout<<"V krygy\n";
    else 
        cout<<"Za krygom\n";
 
}
0
Sapendo
5 / 5 / 4
Регистрация: 13.05.2014
Сообщений: 130
13.05.2014, 02:40  [ТС] 12
rikimaru2013 супер, работает, огромное спасибо!!!!!
Пипец как же это просто теперь кажется)))))) только выражение "V krygy" и "Za krygom" нужно местами поменять))

Всем спасибо!!!!! rikimaru2013 особое спасибо)

Добавлено через 3 минуты
Ошибся выражение местам не надо менять!!!!
0
13.05.2014, 02:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2014, 02:40

Обчисление введенной строки любого формата(пример:"(2+3)/4*2"или"2+3"или ...)
Доброе время суток ! Если у когото есть такое код выложыте пожалуста,буду...

Определить, каких букв в тексте больше: "м" или "н"
дано предложение.Определить каких букв в нём больше: м или н

Реализовать условие "больше или равно", "меньше или равно" для простых дробей в классе
как реализовать условие больше или равно, меньше или равно для простых дробей в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru