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

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

Войти
Регистрация
Восстановить пароль
 
Craider
-11 / 5 / 5
Регистрация: 25.04.2013
Сообщений: 80
#1

Даны значения A,B,C. Если A>B, B>C, то... - C++

23.02.2014, 00:44. Просмотров 232. Ответов 5
Метки нет (Все метки)

Условия задачи: "Даны значения A,B,C. Если A>B, B>C, то присвоить x = 0.2;y = x^2+0.6x+sin(x/2);если b<c и a<c,то x = 2; y = x^3+x^2+x+1; в остальных случаях x = 0, y = 0 ".

Вот код:
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
#include "stdafx.h"
#include <iostream>
#include <conio.h> //подключает dos
using namespace std;
 
void main()
 
{
    
    double a,b,c,x,y;
    cout<<"Vvedite znachenie A B C  "<<endl;
    cin>>a>>b>>c;
 
     if (a>b && b>c)
{
     x = 0.2; 
     y = pow(x,2)+0.6*x+sin(x/2);
 
     cout<<"Otvet = "<<y<<endl;
 
}
            if (b<c && a<c)
{
            x = 2; 
            y = pow(x,3)+pow(x,2)+x+1;
            
            cout<<"Otvet ="<<y<<endl;
}
        
     else{
     
        
        cout<<"Otvet = null"<<endl;
            
     }
        system("pause");
        
}
Вроде все работает НО когда выполняю вот это вот сравнение
C++
1
2
3
4
5
6
7
8
 if (a>b && b>c)
{
     x = 0.2; 
     y = pow(x,2)+0.6*x+sin(x/2);
 
     cout<<"Otvet = "<<y<<endl;
 
}
У меня ответ выводит сразу по двум веткам первый по if-у, а второй по ветке else.
Миниатюры
Даны значения A,B,C. Если A>B, B>C, то...  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.02.2014, 00:44     Даны значения A,B,C. Если A>B, B>C, то...
Посмотрите здесь:

Даны три переменные вещественного типа: A, B, C. Если их значения упорядочены по возрастанию, то удвоить их; - C++
Кто может помочь с кодом на С++? Нужно решить только при помощи &quot;Тернарного оператора&quot;. Даны три переменные вещественного типа: A, B, C....

Даны три переменные вещественного типа: A, B, C. Если их значения упорядочены по возрастанию, то удвоить их - C++
Даны три переменные вещественного типа: A, B, C. Если их значения упорядочены по возрастанию, то удвоить их; в противном случае заменить ...

Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной большее из э - C++
Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной большее из этих значений, а если равны,...

4.77. Составить программу для вычисления значения функции у(л): -1, если х < -1, у = х, если х > —1, 1, если х = -1 - C++
4.77. Составить программу для вычисления значения функции у(л): -1, если х &lt; -1, у = х, если х &gt; —1, 1,если х = -1.

Даны числа х,у. Если х и у положительны, то каждое значение заменить его модулем; если положительно только - C++
Даны числа х,у. Если х и у положительны, то каждое значение заменить его модулем; если положительно только одно из них, то оба значения...

Даны действительные числа x, y. Если x и y отрицательные, то х присвоить значение удвоенного модуля х. Если положительно одно из них, то увеличить у в - C++
Даны действительные числа x, y. Если x и y отрицательные, то х присвоить значение удвоенного модуля х. Если положительно одно из них, то...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryS
Модератор
6552 / 5018 / 463
Регистрация: 14.02.2011
Сообщений: 16,741
23.02.2014, 00:55     Даны значения A,B,C. Если A>B, B>C, то... #2
Цитата Сообщение от Craider Посмотреть сообщение
У меня ответ выводит сразу по двум веткам первый по if-у, а второй по ветке else.
все правильно
у тебя два сравнения
два пути или в ветке
Цитата Сообщение от Craider Посмотреть сообщение
if (a>b && b>c)
поставь return отработал и вышел
или немного измени сравнение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
if (a>b && b>c)
{
x = 0.2; 
y = pow(x,2)+0.6*x+sin(x/2);
cout<<"Otvet = "<<y<<endl;
}
else
{
   if (b<c && a<c)
   {
     x = 2; 
     y = pow(x,3)+pow(x,2)+x+1;
     cout<<"Otvet ="<<y<<endl;
    }
  else
   {
   cout<<"Otvet = null"<<endl;
  }
}
Ev_Hyper
Заблокирован
23.02.2014, 01:04     Даны значения A,B,C. Если A>B, B>C, то... #3
Цитата Сообщение от Craider Посмотреть сообщение
У меня ответ выводит сразу по двум веткам первый по if-у, а второй по ветке else.
так и должно быть, ведь else относится ко 2-му if. Вот смотрите:
>>9 8 3
<<1 if:
Код
     if (a>b && b>c)
>>true
Код
if (b<c && a<c)
нарушение, ничего не выведет. И сразу перейдет к инструкции else, которая и выводит ответ.

Замените 2-ой на:
C++
1
     else if (b<c && a<c)
Добавлено через 1 минуту
ValeryS, опередил меня
Craider
-11 / 5 / 5
Регистрация: 25.04.2013
Сообщений: 80
23.02.2014, 01:07  [ТС]     Даны значения A,B,C. Если A>B, B>C, то... #4
Спасибо ребят разобрался)),это получается что каждому if-у должен соответствовать свой esle?
Ev_Hyper
Заблокирован
23.02.2014, 01:12     Даны значения A,B,C. Если A>B, B>C, то... #5
Цитата Сообщение от Craider Посмотреть сообщение
это получается что каждому if-у должен соответствовать свой esle?
Craider, все зависит от задачи. Если возможен, только один вариант из многих, то if-else. А если много, то else не обязателен. Криво как-то сформулировал :xmm:
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.02.2014, 08:35     Даны значения A,B,C. Если A>B, B>C, то...
Еще ссылки по теме:

Даны действительные числа A,B,C. Удвоить эти числа, если A>=B>=C, и заменить их абсолютными значениями, если это не так. - C++
Даны действительные числа A,B,C. Удвоить эти числа, если A&gt;=B&gt;=C, и заменить их абсолютными значениями, если это не так. Плюсану...

Даны x, y, z. Вычислить a, b, если - C++
Даны x, y, z. Вычислить a, b, если: Смотрите на рисунок. Помогите пожалуйста

Даны x,y,z Вычислить a, b, если: - C++
Вычислить \gamma\;,\;\phi если \gamma=\left|x^{\frac{y}{x}}-\sqrt{\frac{y}{x}}...

Даны x, y, z. Вычислить a, b, если - C++
Даны x, y, z. Вычислить a, b, если

Даны действительные значения x, y, z. Вычислить a и b - C++
Помогите пожалуйста не получается. Спасибо заранее.

Даны значения четырёх величин... - C++
Помогите, пожалуйста, решить задачу: Даны значения четырёх величин, выбрать наименьшее. Переменные a, b, c, d ввести с клавиатуры,...


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

Или воспользуйтесь поиском по форуму:
ValeryS
Модератор
6552 / 5018 / 463
Регистрация: 14.02.2011
Сообщений: 16,741
23.02.2014, 08:35     Даны значения A,B,C. Если A>B, B>C, то... #6
Цитата Сообщение от Craider Посмотреть сообщение
это получается что каждому if-у должен соответствовать свой esle?
не понял вопроса
есть конструкция
если (if)
есть
если-иначе(if-else)
какую использовать, тебе решать

Добавлено через 4 минуты
вот пара примеров
C++
1
2
3
4
5
int a=0;
if(b>0)
  a=1;
if(b<0)
  a=-1;
C++
1
2
3
4
5
int a=0;
if(b>0)
  a=1;
else if(b<0)
    a=-1;
они делают одно и тоже
но в первой всегда будет два сравнения
а во второй одно если b положительное
Yandex
Объявления
23.02.2014, 08:35     Даны значения A,B,C. Если A>B, B>C, то...
Ответ Создать тему
Опции темы

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