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

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

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

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

23.04.2014, 17:25. Просмотров 229. Ответов 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. В чем же проблема?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.04.2014, 17:25     Трабл с решением задания, условные операторы
Посмотрите здесь:

Условные операторы, двумерные массивы C++
Используя вложеные условные операторы IF и IF-ELSE C++
Условные операторы и массивы C++
C++ Условные операторы
C++ условные операторы
C++ Условные операторы
C++ Условные операторы цикла c++ Builder
C++ Флаг eofbit в потоке и условные операторы
C++ Условные операторы
C++ Арифметиеские выражения и условные операторы
Условные операторы C++
C++ Условные операторы с++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
6117 / 5720 / 1850
Регистрация: 18.12.2011
Сообщений: 14,623
Завершенные тесты: 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 (кроме первого).
ИванИ
0 / 0 / 0
Регистрация: 23.04.2014
Сообщений: 6
24.04.2014, 04:14  [ТС]     Трабл с решением задания, условные операторы #3
Спасибо, все заработало как надо. А насчет такого синтаксиса - это потому, что я пока словно русский с разговорником иностранного языка зимбабве. Читал ведь в учебнике, что внутри функции If используется только логическая функция, но как-то сразу не легло. Теперь надолго запомню
Yandex
Объявления
24.04.2014, 04:14     Трабл с решением задания, условные операторы
Ответ Создать тему
Опции темы

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