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

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

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

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

23.02.2014, 00:44. Просмотров 224. Ответов 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. Удвоить эти числа, если A>=B>=C, и заменить их абсолютными значениями, если это не так. C++
Даны a и b. Напечатать максимальное и минимальное значения выражений C++
Даны три переменные вещественного типа: A, B, C. Если их значения упорядочены по возрастанию, то удвоить их C++
C++ Даны x, y, z. Вычислить a, b, если
Даны значения четырёх величин... C++
C++ Даны x, y, z. Вычислить a, b, если
C++ 4.77. Составить программу для вычисления значения функции у(л): -1, если х < -1, у = х, если х > —1, 1, если х = -1
2. Написать алгоритм, классифицирующий треугольники (остроугольные, прямоугольные, тупоугольные), если даны углы C++
Даны действительные числа x, y. Если x и y отрицательные, то х присвоить значение удвоенного модуля х. Если положительно одно из них, то увеличить у в C++
C++ Даны x,y,z Вычислить a, b, если:
C++ Даны действительные значения x, y, z. Вычислить a и b
Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной большее из э C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryS
Модератор
6511 / 4977 / 460
Регистрация: 14.02.2011
Сообщений: 16,484
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:
ValeryS
Модератор
6511 / 4977 / 460
Регистрация: 14.02.2011
Сообщений: 16,484
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, то...
Ответ Создать тему
Опции темы

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