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

При выполнении задания предусмотреть выбор вида функции (исправить код) - C++

Восстановить пароль Регистрация
 
ulechka128
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 29
12.10.2012, 10:11     При выполнении задания предусмотреть выбор вида функции (исправить код) #1
все вроде бы правильно... но когда делаю проверку ответы не сходятся... помогите пожалуйста найти ошибку в формулах

При выполнении задания предусмотреть выбор вида функции f(x): sh(x), x^2 или e^x. Предусмотреть вывод информации о выбранной ветви вычислений.

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
#include <iostream.h>
#include <math.h>
 
int main()
{
    double x,y,f,a,s;
    int k;
    cout<< "Vvedite x";
    cin>>x;
    cout<<"Vvedite y";
    cin>>y;
    cout<<"Viberite f:1-sh(x),2-x^2,3-exp(x)";
    cin>>k;
    switch(k)
    {
    case 1:f=sinh(x); break;
    case 2:f=pow(x,2); break;
    case 3:f=exp(x); break;
    default:cout<<"Ne  vuibrana funkciya"; return 1;
    }
    a=x/y;
    if (y=0){
        cout<<"Net rezultata" <<endl;
        return 1;
    } else
        if (a>0) s=pow(pow(f,2),3);
        else
            if (a<0) s=log(fabs(f/y))+x/y;
            else s=pow(fabs(sin(x)),1/3);
            cout<<"RESULT="<<s<<endl;
            return 0;
}
Изображения
 
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.10.2012, 10:11     При выполнении задания предусмотреть выбор вида функции (исправить код)
Посмотрите здесь:

C++ Написать программу учета сдачи зачетов при помощи битовых полей (исправить код)
C++ Код службы, которая издает звуковой сигнал в начале каждого часа. Исправить ошибки при компиляции
Математические функции при работе с треугольником и прямоугольником: исправить код C++
C++ Выбор функции при нажатии определённой клавиши
C++ Вычислить значение функции(исправить готовый код)
C++ Определить класс-строку. Предусмотреть функции поиска слова в строке
C++ Функции с переменным количеством параметров, stdarg.h. Исправить код
C++ Ошибка при выполнении функции (std::bad_alloc at memory location)

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
John Prick
754 / 687 / 123
Регистрация: 27.07.2012
Сообщений: 1,974
Завершенные тесты: 3
12.10.2012, 13:04     При выполнении задания предусмотреть выбор вида функции (исправить код) #2
В начале всё вроде верно.
Далее (см. комментарии)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
    a=x/y; // а что будет, если y == 0 ? Проверку y == 0 надо раньше проводить.
    if (y=0){ // тут главная ошибка. Проверка на равество выглядит так: if (y == 0)
        cout<<"Net rezultata" <<endl; // почему нет результата? это ветка 3 задания
        return 1;
    } else
    { // ветка большая, поэтому лучше в скобки её поместить, так легче читать
        if (a>0) s=pow(pow(f,2),3); // ну ведь не так на картинке. на картинке s = pow(f*f + y, 3);
        else
            if (a<0) s=log(fabs(f/y))+x/y; // тут ок
            else s=pow(fabs(sin(x)),1/3); // а на картинке sin(y)!
        cout<<"RESULT="<<s<<endl;
    }
 return 0;
Добавлено через 3 минуты
Всё же главную ошибку выделю отдельно:
C++
1
if (y=0)
Здесь вы просто присваиваете игреку значение 0. Проверка на равенство выглядит так:
C++
1
if (y == 0)
Чтобы избежать такой весьма распростанённой ошибки, лучше писать так:
C++
1
if (0 == y)
Тогда, если вы вдруг опечатаетесь и пропустите один знак равенства, вас обругает компилятор.
ulechka128
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 29
12.10.2012, 13:42  [ТС]     При выполнении задания предусмотреть выбор вида функции (исправить код) #3
спасибо огромное)
Yandex
Объявления
12.10.2012, 13:42     При выполнении задания предусмотреть выбор вида функции (исправить код)
Ответ Создать тему
Опции темы

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