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

не знаю как сделать (язык С++) - C++

Восстановить пароль Регистрация
 
God3illa
0 / 0 / 0
Регистрация: 09.11.2013
Сообщений: 10
09.11.2013, 15:45     не знаю как сделать (язык С++) #1
как определить что точка входит в заштрихованную область?
Миниатюры
не знаю как сделать (язык С++)  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
God3illa
0 / 0 / 0
Регистрация: 09.11.2013
Сообщений: 10
09.11.2013, 15:46  [ТС]     не знаю как сделать (язык С++) #2
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
32
33
34
35
36
37
38
// Задание №1.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include "MyCrt.cpp"
#include <conio.h>
 
using namespace std;
 
int _main()
{   
    setlocale (0,"");
    TextBackground (4);
    TextForeground (15);
    ClrScr ();
    double x,y,a;
    for (char c='1'; c!=27; cout << "Окончание работы клавиша ESC \n"; c = _getch());
    do
    {
        cout << "Введите радиус круга: ";
        cin >> a;
        if (x <= 0);
        cout << "Радиус должен быть больше 0! Повторите попытку!\n";
    }
    while (x <= 0);
    cout << "Введите значение х: \n";
    cin >> x;
    cout << "Введите значение у: \n";
    cin >> y;
    {
        if (((x * x + y * y <= a*a) && (y <= 0)) || ((y <= x + a) && (x>=0) && (y >= 0) || ((y >= x - a) && (x >= 0) && (y <= 0))));
    cout << "Точка принадлежит заданной области!\n";
        else
    cout << "Точка не принадлежит заданной области!\n";
    }
    return 0;
}
Добавлено через 33 секунды
не знаю где тут ошибка
Somebody
2770 / 1583 / 141
Регистрация: 03.12.2007
Сообщений: 4,139
Завершенные тесты: 1
09.11.2013, 18:31     не знаю как сделать (язык С++) #3
Цитата Сообщение от God3illa Посмотреть сообщение
C++
1
2
3
if (((x * x + y * y <= a*a) && (y <= 0)) || ((y <= x + a) && (x>=0) && (y >= 0) || ((y >= x - a) && (x >= 0) && (y <= 0))))
                                ^
                                x
Да и вообще
C++
1
if (x * x + y * y <= a * a && x <= 0 || y <= abs(x))
God3illa
0 / 0 / 0
Регистрация: 09.11.2013
Сообщений: 10
09.11.2013, 18:37  [ТС]     не знаю как сделать (язык С++) #4
а что обозначает запись y <= abs x?
Somebody
2770 / 1583 / 141
Регистрация: 03.12.2007
Сообщений: 4,139
Завершенные тесты: 1
09.11.2013, 18:42     не знаю как сделать (язык С++) #5
http://en.cppreference.com/w/cpp/numeric/math/fabs
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
09.11.2013, 19:15     не знаю как сделать (язык С++) #6
Цитата Сообщение от Somebody Посмотреть сообщение
Да и вообще
if (x * x + y * y <= a * a && x <= 0 || y <= abs(x))
да и вообще операции && || имеют разный приоритет и потому надо расставлять скобки
Somebody
2770 / 1583 / 141
Регистрация: 03.12.2007
Сообщений: 4,139
Завершенные тесты: 1
09.11.2013, 19:30     не знаю как сделать (язык С++) #7
У && приоритет больше, что мне кажется вполне естественным и общепринятым, поэтому я в таких случаях лишние скобки не люблю (если только для того, чтобы warning'а не было). Вот если ещё в выражение добавить что-то с менее очевидным приоритетом - тогда да.
Jupiter
09.11.2013, 19:34
  #8

Не по теме:

Цитата Сообщение от Somebody Посмотреть сообщение
У && приоритет больше, что мне кажется вполне естественным и общепринятым, поэтому я в таких случаях лишние скобки не люблю (если только для того, чтобы warning'а не было). Вот если ещё в выражение добавить что-то с менее очевидным приоритетом - тогда да.
общепринятым считается что код больше читают нежели пишут.
общепринятым так же считается это делают разные люди.
вот подаешь на такой код и...где гарантия что автор специально опустил скобки? мб он все таки их забыл?

Somebody
2770 / 1583 / 141
Регистрация: 03.12.2007
Сообщений: 4,139
Завершенные тесты: 1
09.11.2013, 20:45     не знаю как сделать (язык С++) #9
Jupiter, с общей идеей я согласен, но до какой степени тогда ставить скобки? Вокруг умножения тоже предлагаешь поставить? (x * x) + (y * y)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.11.2013, 14:24     не знаю как сделать (язык С++)
Еще ссылки по теме:

C++ Сортировка(я не знаю как сделать)
C++ Как сделать в приложении С++ русский язык?
C++ Не знаю как сделать! подскажите

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

Или воспользуйтесь поиском по форуму:
God3illa
0 / 0 / 0
Регистрация: 09.11.2013
Сообщений: 10
11.11.2013, 14:24  [ТС]     не знаю как сделать (язык С++) #10
1
if (x * x + y * y <= a * a && x <= 0 || y <= abs(x))
т.е. используя данный код, я смогу решить задачу?
Yandex
Объявления
11.11.2013, 14:24     не знаю как сделать (язык С++)
Ответ Создать тему
Опции темы

Текущее время: 17:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru