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

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

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

Трабл с решением задания, условные операторы - C++

23.04.2014, 17:25. Просмотров 248. Ответов 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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <stdio.h>          
#include <conio.h>
#include <math.h>
 
int main()
{   
    float x, y;         
    
 printf("\nx=");
 scanf("%f", &x);
 
    if(0.0<x<1.0) 
    {
    y=sqrt(1.0-((x-1.0)*(x-1.0)));
    
    if(x==1.0)
    y=1.0;
    if(x==0.0)
    y=0.0;
             
    }
             
    if(1.0<x<2.0)
    {
    y=1.0-(sqrt(1.0-((2.0-x)*(2.0-x))));
    if(x==2.0)
    y=0.0; 
    }
    
    
    if(2.0<x<3.0)
    {
    y=1.0-sqrt(1.0-((x-2.0)*(x-2.0)));
    if(x==3.0)
    y=1.0;
    }
                        
                        
    if(3.0<x<4.0)
    {
    y=sqrt(1.0-((x-3.0)*(x-3.0)));
    if(x==4.0)
    y=0.0;
                        
                        }
    if(4.0<x<5.0)
    {
    y=sqrt(1.0-((5.0-x)*(5.0-x)));                
    if(x==5.0)
    y=1.0;
    }
                        
                                        
    if(5.0<x<6.0)
    {
    y=1.0-sqrt(1.0-((6.0-x)*(6.0-x)));
    if(x==6.0)
    y=0.0;
    }  
 
    printf("\ny=%f", y);
 
    getch();
    return 0;
}
при вводе переменной "x" в интервале от 5 до 6 - программа работает замечательно. НО, казалось бы аналогичные команды других интервалов, дают результат "y" - что-то вроде y=-1#INDOO, какое бы значение не ввел в промежутке от 0 до 5. В чем же проблема?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.04.2014, 17:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Трабл с решением задания, условные операторы (C++):

С++.Операторы в С++: условные операторы, операторы break и continue - C++
Выяснить, пересекаются ли параболы у=аx2+bx+с и у=dx2+ex + f. При положительном ответе найти точки пересечения.

«Языки и технологии программирования» «Операторы цикла. Условные операторы» - C++
Не получается сделать что бы программа выводила все значения в промежутке, она выводит только одно. условия | ((z^3)+sin...

Условные операторы.Операторы цикла - C++
1)По номеру y(y&gt;0) некоторого года определить с-номер его столетия(учесть что к примеру началом 20 столетия был 1901 а не 1900 год.)...

Условные операторы - C++
Напечатать таблицу значений функций y=sqr(x)+4x на интервале от -5 до 5.

Условные операторы - C++
Здравствуйте! Сразу же покажу нужный кусочек проги (полная версия будет ниже): if(b&gt;0) { c=a+b; d=2*c; } else {

Условные операторы - C++
Написать программу, которая вычисляет дату следующего дня. Ниже представлен рекомендуемый вид экрана во время работы программы. Введите...

2
zss
Модератор
Эксперт С++
6478 / 6041 / 1982
Регистрация: 18.12.2011
Сообщений: 15,653
Завершенные тесты: 1
23.04.2014, 18:00 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от ИванИ Посмотреть сообщение
if(0.0<x<1.0)
Где это Вы такой синтаксис нашли
C++
1
if(0.0<x && x<1.0)
и так везде!

Цитата Сообщение от ИванИ Посмотреть сообщение
if(x==1.0)
Вы внутри верного условия x<1. КАК x может оказаться равным 1?

И, чтобы избежать ненужных проверок добавьте else перед всеми if (кроме первого).
1
ИванИ
0 / 0 / 0
Регистрация: 23.04.2014
Сообщений: 6
24.04.2014, 04:14  [ТС] #3
Спасибо, все заработало как надо. А насчет такого синтаксиса - это потому, что я пока словно русский с разговорником иностранного языка зимбабве. Читал ведь в учебнике, что внутри функции If используется только логическая функция, но как-то сразу не легло. Теперь надолго запомню
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.04.2014, 04:14
Привет! Вот еще темы с ответами:

Условные операторы - C++
Задание: создайте условный оператор, который присваивал бы x*y для четного x, в противном случае для нечетного x и y, не равного 0,...

условные операторы - C++
для заданых a,x написать программу для определения значений функции http://s51.***********/i132/1112/29/7a8ea17823f7.jpg ...

Условные операторы с++ - C++
Доброго времени программисты, ищу спасения на вашем портале! Писал программу: Вывести на экран таблицу значений функции Y(x) и ее...

Условные операторы и массивы - C++
Ученики начальной школы сдают технику чтения. Нормы следующие: в 1 клас-се ребёнок должен читать не менее 20 слов в минуту; во втором...


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

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

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