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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
God3illa
0 / 0 / 0
Регистрация: 09.11.2013
Сообщений: 10
#1

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

09.11.2013, 15:45. Просмотров 357. Ответов 9
Метки нет (Все метки)

как определить что точка входит в заштрихованную область?
Миниатюры
не знаю как сделать (язык С++)  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
2775 / 1589 / 142
Регистрация: 03.12.2007
Сообщений: 4,162
Завершенные тесты: 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
2775 / 1589 / 142
Регистрация: 03.12.2007
Сообщений: 4,162
Завершенные тесты: 1
09.11.2013, 18:42     не знаю как сделать (язык С++) #5
http://en.cppreference.com/w/cpp/numeric/math/fabs
Jupiter
Каратель
Эксперт C++
6548 / 3968 / 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
2775 / 1589 / 142
Регистрация: 03.12.2007
Сообщений: 4,162
Завершенные тесты: 1
09.11.2013, 19:30     не знаю как сделать (язык С++) #7
У && приоритет больше, что мне кажется вполне естественным и общепринятым, поэтому я в таких случаях лишние скобки не люблю (если только для того, чтобы warning'а не было). Вот если ещё в выражение добавить что-то с менее очевидным приоритетом - тогда да.
Jupiter
09.11.2013, 19:34
  #8

Не по теме:

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

Somebody
2775 / 1589 / 142
Регистрация: 03.12.2007
Сообщений: 4,162
Завершенные тесты: 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++ Программа которая складывает 2 числа.Числа вбиты в программу заранее. Не получается. Плохо знаю этот язык
Знаю язык "Си", что нужно знать для изучения Си++, какие у них отличия и т.д? 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     не знаю как сделать (язык С++)
Ответ Создать тему
Опции темы

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