Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.10.2012, 19:52   #1
jesterXXX
Пользователь
 
Регистрация: 16.09.2012
Сообщений: 17
По умолчанию деление на 0 , ОДЗ :(

Здравствуйте ув. форумчане, возникла ткая проблемка что прога на 2 шаге не переваривает если число С было введено равным нулю, а именно пишет 1.#INF

вот собсно задание :


а вот мое предполагаемое ОДЗ для 2 пункта ( (x<=-c) или ??? ) И (х*с != 0 )
Код:
# include <iostream>
# include <math.h>
using namespace std;
int main() {
    double a, b, c, x, xn, xk, dx, f;
    cout <<"vvedite a:"<<endl;
    cin >>a;
    cout <<"vveditr b:"<<endl;
    cin >>b;
    cout <<"vvedite c:"<<endl;
    cin >>c;
    cout <<"intreval nachalo:"<<endl;
    cin >>xn;
    cout <<"konets intervala:"<<endl;
    cin >>xk;
    cout <<"shag:"<<endl;
    cin >>dx;
    for ( x=xn; x<=xk; x+=dx)
    {
        if ((x+c<0)&&(a!=0)) {f=(-a*pow(x,3.)-b);
            if(((int(a) ^ int(b)) | (int(a) ^ int(c))!=0)) 
    cout<<"pri x="<<x<<"; F="<<f<<endl;
            else 
    cout<<"pri x="<<x<<"; F="<<int(f)<<endl;}
        else if ((((x<=-c) | a==0) && ((x>=c) | a!=0)) | (x*c!=0)) {f=((x-a)/(x-c));
                if((int(a) ^ int(b) | (int(a) ^ int(c)))!=0 ) 
     cout<<"pri x="<<x<<"; F="<<f<<endl;
                else 
     cout<<"pri x ="<<x<<"; F="<<int(f)<<endl;}
             else if (c!=0 && x!=0) {f=(x/c)+(c/x);
                    if(((int(a) ^ int(b)) | (int(a) ^ int(c)))!=0) 
      cout<<"pri x ="<<x<<"; F="<<f<<endl;
                    else 
      cout<<"pri x ="<<x<<"; F="<<int(f)<<endl;}
                  else 
       cout<<"resh net"<<endl;
    }
    system("pause");
    return 0;
}
=================================== ==========================
cout<<"pri x="<<x<<"; F="<<int(f)<<endl;}
else if ((((x<=-c) | a==0) && ((x>=c) | a!=0)) | (x*c!=0)) {f=((x-a)/(x-c));
Вот тут вся проблема (


заранее спасибо!

Последний раз редактировалось Stilet; 21.10.2012 в 20:01.
jesterXXX вне форума Ответить с цитированием
Старый 21.10.2012, 20:03   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
((int(a) ^ int(b)) | (int(a) ^ int(c))!=0)
Что это?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.10.2012, 20:08   #3
jesterXXX
Пользователь
 
Регистрация: 16.09.2012
Сообщений: 17
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Что это?
как что они должны быть действительными числами
jesterXXX вне форума Ответить с цитированием
Старый 21.10.2012, 20:28   #4
Leshii
Форумчанин
 
Регистрация: 26.07.2011
Сообщений: 376
По умолчанию

jesterXXX, а причему тут Область действительных значений?

У вас в условии ясно всё написано ...
Вы после ввода перемнных по условиям проверяете удовлетворяют ли они даным значениям ( к чему изобретать велосипед ).

Код:
If ( x+c > 0 && a = 0 )
{
....
}
И действительно, зачем ?

Код:
if(((int(a) ^ int(b)) | (int(a) ^ int(c))!=0))
Смысла тут ровно на 0!
Люблю на ты.Я человек простой
Leshii вне форума Ответить с цитированием
Старый 21.10.2012, 20:42   #5
jesterXXX
Пользователь
 
Регистрация: 16.09.2012
Сообщений: 17
По умолчанию

не знаю, у меня препод придрался и заставил выводить все случаи в ОДЗ, при данном ОДЗ у меня есть 1.#inf
jesterXXX вне форума Ответить с цитированием
Старый 21.10.2012, 21:07   #6
Leshii
Форумчанин
 
Регистрация: 26.07.2011
Сообщений: 376
По умолчанию

Цитата:
{ x Э R, x != c }
Поидее так ...
Люблю на ты.Я человек простой
Leshii вне форума Ответить с цитированием
Старый 21.10.2012, 22:47   #7
jesterXXX
Пользователь
 
Регистрация: 16.09.2012
Сообщений: 17
По умолчанию


вот собственно в чем проблема, ввожу хначения подходящие по 2-му ОДЗ и вот те на - инф
jesterXXX вне форума Ответить с цитированием
Старый 21.10.2012, 23:04   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
у меня препод придрался
А точнее?
Код:
# include <iostream>
# include <math.h>
using namespace std;
int main() {
    double a, b, c, x, xn, xk, dx, f;
    cout <<"vvedite a:"<<endl;    cin >>a;
    cout <<"vveditr b:"<<endl;    cin >>b;
    cout <<"vvedite c:"<<endl;   cin >>c;
    cout <<"intreval nachalo:"<<endl;    cin >>xn;
    cout <<"konets intervala:"<<endl;    cin >>xk;
    cout <<"shag:"<<endl;    cin >>dx;

    for ( x=xn; x<=xk; x+=dx)
    {
       if(a!=0){
           if(x+c<0) cout<<-a*x*x*x-b; 
           else if(x-c) cout<<(x-a)/(x-c); else cout<<'No Point';
       }     else {
           if(x && c)  cout<<x/c+c/x; else cout<<'No Point';    
       } cout<<'\n';
    }
    system("pause");
    return 0;
}
И как по мне больше ниче и не надо.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Деление atenon Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 18.10.2012 19:43
ОДЗ в уравнении Александрq Помощь студентам 1 15.10.2012 00:37
Написать прогу с ОДЗ для паскаля!! по двум уравнениям elmarso Помощь студентам 1 23.10.2011 21:25
ОДЗ по программированию. Lyalichka Помощь студентам 0 24.12.2010 18:59
ОДЗ по програмированию (Borland Pascal) Georgij Помощь студентам 3 24.04.2009 23:37