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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 22.02.2009, 16:16   #1
DaniyMilner
 
Регистрация: 22.02.2009
Сообщений: 9
По умолчанию Логическое выражение

Записать логическое выражение, которое зависит от координат точки X и Y и принимает значение TRUE, если точка принадлежит заштрихованной области, и FALSE, если не принадлежат.


Вот собственно в чем вопрос: выбивает ошибку "Misplaced else" после слова else. В С++ я пока не опытный и не могу сообразить в чем проблема, подскажите пожалуйста

Код:
#include<stdio.h>
#include<math.h>
#include<conio.h>
void main()
{
int flag=0;
float x,y;
clrscr();
printf("x->");
scanf("%f",&x);
printf("y->");
scanf("%f",&y);
if (((x>0)||(x<=0))&&(y<=0)&&((x*x+y*y)<=25)&&((x*x+y*y)>=4))
flag=1;
printf("nalegit");
else printf("ne nalegit");
}
DaniyMilner вне форума
Старый 22.02.2009, 16:30   #2
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Если в блоке if, else, for, while больше одного оператора, то нужно все строки кода заключать в фигурные скобки.
Тоесть ваш код будет выглядеть вот так
Код:
#include<stdio.h>
#include<math.h>
#include<conio.h>
void main()
{
int flag=0;
float x,y;
clrscr();
printf("x->");
scanf("%f",&x);
printf("y->");
scanf("%f",&y);
if (((x>0)||(x<=0))&&(y<=0)&&((x*x+y*y)<=25)&&((x*x+y*y)>=4))
{
flag=1;
printf("nalegit");
}
else printf("ne nalegit");
}
MaTBeu вне форума
Старый 22.02.2009, 16:31   #3
KVF
Пользователь
 
Регистрация: 27.07.2008
Сообщений: 30
По умолчанию

тебе нужно скобку открыть после if, а перед else закрыть
i
Код:
f (((x>0)||(x<=0))&&(y<=0)&&((x*x+y*y)<=25)&&((x*x+y*y)>=4)) {
flag=1;
printf("nalegit");
} else printf("ne nalegit");
Модератор: тег CODE

Последний раз редактировалось MaTBeu; 22.02.2009 в 16:36.
KVF вне форума
Старый 22.02.2009, 16:42   #4
DaniyMilner
 
Регистрация: 22.02.2009
Сообщений: 9
По умолчанию

спасибо большое, запомню

появилась еще одна ошибка после последней скобки " 'flag' is assigned a value that is never used "

подскажите пожалуйста че тут
DaniyMilner вне форума
Старый 22.02.2009, 16:54   #5
DaniyMilner
 
Регистрация: 22.02.2009
Сообщений: 9
По умолчанию

все, заработало, спасибо большое вам
DaniyMilner вне форума
Старый 22.02.2009, 19:04   #6
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

((x>0)||(x<=0))
Какое интересное логическое выражение
pu4koff вне форума
Старый 22.02.2009, 19:14   #7
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

Цитата:
((x>0)||(x<=0))
Какое интересное логическое выражение
ух ты. самое прикольное, что оно всегда истино.
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс
ROD вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
регулярное выражение XeN0N Помощь студентам 1 27.01.2009 15:14
Не проверяется логическое выражение в операторе While lsd11 Помощь студентам 2 15.10.2008 19:09
Строковое выражение SeregaIRK Общие вопросы C/C++ 1 07.10.2008 19:20
Упростить логическое выражение. Помогите с поступлением. DartMrakkk Помощь студентам 4 27.07.2008 12:35
помогите подобрать формулу или логическое выражение... Dr.Eric Microsoft Office Excel 7 22.11.2006 06:56