Технологии

Решено

Добрый день, есть задание: уравнение... - вопрос №845294

Добрый день, есть задание: уравнение с тремя условиями. Код программы приведу ниже. Суть вопроса: первое и второе условие выполняется нормально, но третье не хочет. Подскажите, где допустил ошибку и как ее можно исправить? Заранее спасибо. P.S. Привожу написанный код:

#include <iostream>
#include <math.h>
#include <conio.h>

using namespace std;

int main(){
setlocale(LC_ALL,«Russian»);
double f=0, g=0, y;
y=abs(f*g);
cout<<«Введите f= »;
cin>>f;
cout<<«Введите g= »;
cin>>g;
//первое условие
if(y>10)
{
    cout<<log(abs(f))+abs(g)<<endl;
}
//второе условие
else if (y<10)
{
    cout<<exp(f+g)<<endl;
}
//третье условие
else if(y=10)
{
    cout<<f+g<<endl;
}



system («PAUSE»);
return 0;
}

Сорочинский Алексей Александрович ноябрь 24, 2013 г.

  • Всего ответов: 2

  • Зимин Вадим - аватарка

    Зимин Вадим

    55-й в Технологиях

    Тут проблема с тройной вложенностью

    1. Либо правильно раставляйте фигурные скобки для каждой вложенности

    2. Либо напишите проще, то что свободно читается

    if(y>10) cout<<log(abs(f))+abs(g)<<endl;
    if (y<10)  cout<<exp(f+g)<<endl;
    if(y=10)    cout<<f+g<<endl;

    ноябрь 24, 2013 г.
  • Зимин Вадим - аватарка

    Зимин Вадим

    55-й в Технологиях

    cout<<«Введите f= »; cin>>f;
    cout<<«Введите g= »; cin>>g;

    y=abs(f*g);

    f(y>10) cout<<log(abs(f))+abs(g)<<endl;
    if (y<10)  cout<<exp(f+g)<<endl;
    if(y=10)    cout<<f+g<<endl;

    и вычисление «y» после ввода переменных, а не до.

    ноябрь 24, 2013 г.
    Ответ понравился автору
    Лучший ответ по мнению автора
  • спасибо большое, все заработало.)

    ноябрь 24, 2013 г.