نمایش نتایج 1 تا 2 از 2

نام تاپیک: نوشتن تابع read برای خواندن یک چند جمله ای بصورت رشته ای از ورودی

  1. #1

    نوشتن تابع read برای خواندن یک چند جمله ای بصورت رشته ای از ورودی

    سلام
    دوست من برای پروژه پایان ترمش به یه مشکل بر خورده اونم اینه که باید یه تابع read تعریف کنه تا یک چند جمله ای رو بصورت رشته ای از ورودی بگیره توضیحاتش رو هم برام با عکس فرستاده ولی من چیزی نفهمیدم سورس برنامه هم برام فرستاده اگه میتونید راهنمایی کنید(توضیحات در بند b)



    #include "iostream"
    using namespace std;
    class polynomial
    {
    float a[100];
    int len;
    public:
    polynomial()
    {
    for(int i=0;i<100;i++)
    a[i]=0;
    }
    void read();
    void print();
    float power(float x,int y);
    float evaluate(float x);
    void operator*(float f);
    void operator*(polynomial&p);
    void operator+(polynomial&p);
    void operator+(float f);
    void operator--();
    polynomial operator--(int);
    void operator+=(polynomial&p);
    void operator+=(float f);
    int operator==(polynomial&p);
    int operator!=(polynomial&p);
    void operator*=(float f);
    void operator*=(polynomial&p);
    };
    void polynomial::read()
    {
    cout<<"enter a len of arry =";
    cin>>len;
    for(int i=0;i<len;i++)
    {
    cout<<"enter a zarib x^"<<i<<"=";
    cin>>a[i];
    }
    }
    void polynomial::print()
    {
    for(int i=0;i<len;i++)
    cout<<a[i]<<"x^"<<i<<"+";
    cout<<"0";
    cout<<"\n";
    }
    float polynomial::power(float x,int y)
    {
    int p=1;
    for(int i=0;i<y;i++)
    p*=x;
    return p;
    }
    float polynomial::evaluate(float x)
    {
    float c=0;
    for(int i=0;i<len;i++)
    c+=a[i]*power(x,i);
    return c;
    }
    void polynomial::operator*(float f)
    {
    float c[100]={0};
    for(int i=0;i<len;i++)
    c[i]=f*a[i];
    cout<<"\n";
    cout<<"p*f=";
    for(int i=0;i<len;i++)
    cout<<c[i]<<"x^"<<i<<"+";
    cout<<"0";
    }
    void polynomial::operator*(polynomial&p)
    {
    float c[100]={0};
    int j,i,t=len+p.len;
    for(int i=0;i<len;i++)
    for(j=0;j<p.len;j++)
    c[i+j]=(a[i]*(p.a[j]))+c[i+j];
    cout<<"\n";
    cout<<"p2*p3=";
    for(int l=0;l<t;l++)
    cout<<c[l]<<"x^"<<l<<"+";
    cout<<"0";

    }
    void polynomial::operator+(float f)
    {
    a[0]=f+a[0];
    cout<<"\n";
    cout<<"p+f=";
    for(int i=0;i<len;i++)
    cout<<a[i]<<"x^"<<i<<"+";
    cout<<"0";
    }
    void polynomial::operator+(polynomial&p)
    {
    float c[100]={0};
    int max;
    max=len;
    if(p.len>max)
    max=p.len;
    for(int i=0;i<max;i++)
    c[i]=a[i]+p.a[i];
    cout<<"\n";
    cout<<"p2+p3=";
    for(int i=0;i<max;i++)
    cout<<c[i]<<"x^"<<i<<"+";
    cout<<"0";
    }
    void polynomial::operator--()
    {
    float c[100]={0};
    for(int i=0;i<len;i++)
    if(a[i]!=0)
    c[i]=a[i]-1;
    cout<<"--p=";
    for(int i=0;i<len;i++)
    cout<<c[i]<<"x^"<<i<<"+";
    cout<<"0";
    }
    polynomial polynomial::operator--(int)
    {
    float c[100]={0};
    polynomial temp;
    for(int i=0;i<len;i++)
    temp.a[i]=a[i];
    for(int i=0;i<len;i++)
    if(a[i]!=0)
    c[i]=a[i]-1;
    return temp;
    }
    void polynomial::operator+=(polynomial&p)
    {
    int max;
    max=len;
    if(p.len>max)
    max=p.len;
    for(int i=0;i<max;i++)
    a[i]+=p.a[i];
    cout<<"p2+=p3=";
    for(int i=0;i<max;i++)
    cout<<a[i]<<"x^"<<i<<"+";
    cout<<"0";
    }
    void polynomial::operator+=(float f)
    {
    a[0]+=f;
    cout<<"\n p+f=";
    for(int i=0;i<len;i++)
    cout<<a[i]<<"x^"<<i<<"+";
    cout<<"0";
    }
    int polynomial::operator==(polynomial&p)
    {
    int max;
    max=len;
    if(p.len>max)
    max=p.len;
    if(p.len!=len)
    return -1;
    else
    for(int i=0;i<max;i++)
    if(a[i]==p.a[i])
    continue;
    else
    return -1;
    return 0;
    }
    int polynomial::operator!=(polynomial&p)
    {
    int max;
    max=len;
    if(p.len>max)
    max=p.len;
    if(p.len!=len)
    return 0;
    else
    for(int i=0;i<max;i++)
    if(a[i]==p.a[i])
    continue;
    else
    return 0;
    return -1;
    }
    void polynomial::operator*=(float f)
    {
    for(int i=0;i<len;i++)
    a[i]*=f;
    for(int i=0;i<len;i++)
    cout<<a[i]<<"x^"<<i<<"+";
    cout<<"0";
    }
    void polynomial::operator *=(polynomial&p)
    {
    int c[100]={0},i,j,t=len+p.len;
    for(int i=0;i<len;i++)
    c[i]=0;
    for(int i=0;i<len;i++)
    for(int j=0;j<p.len;j++)
    a[i+j]=0;
    for(int i=0;i<len;i++)
    for(int j=0;j<p.len;j++)
    a[i+j]=c[i]*(p.a[j])+a[i+j];
    for(int l=0;l<t;l++)
    cout<<a[l]<<"x^"<<l<<"+";
    cout<<"0";
    }
    int main()
    {
    int y;
    float z,t,w;
    polynomial p1(),p2,p3,p4,p5;
    p3.read();
    p2.read();
    p3.print();
    p2.print();
    cout<<"\nenter a float number";
    cin>>t;
    z=p3.evaluate(t);
    cout<<z;
    w=p2.evaluate(t);
    cout<<"\n"<<w;
    p3*t;
    cout<<"\n";
    p2*t;
    cout<<"\n";
    p3*p2;
    cout<<"\n";
    p2+t;
    p3+t;
    p2+p3;
    cout<<"\n";
    --p3;
    cout<<"\n";
    --p2;
    cout<<"\n";
    p4=p3--;
    cout<<"p3--= "; p4.print();
    cout<<"\n";
    p5=p2--;
    cout<<"p2--= "; p5.print();
    cout<<"\n";
    p3+=p2;
    cout<<"\n";
    p3+=t;
    p2+=t;
    p2==p3;
    if(p2==p3==0)
    cout<<"chand jomlei is equal";
    else
    cout<<"chand jomlei is not equal";
    p2!=p3;
    if(p2!=p3==0)
    cout<<"chand jomlei is not equal";
    else
    cout<<"chand jomlei is equal";
    p3*=t;
    p2*=t;
    cout<<"\n";
    p3*=p2;
    return 0;
    }






  2. #2

    نقل قول: نوشتن تابع read برای خواندن یک چند جمله ای بصورت رشته ای از ورودی

    روشها برای گرفتن چند جمله ای زیاده ، مثلا یه نمونه :


    #include <iostream>
    #include <conio>
    struct poly{
    int coef;
    int exp;};
    //==============
    int main(){
    int term;
    cout<<"Enter number of terms :\n";
    cin>>term;
    poly *a = new poly[term];
    for(int i=0;i<term;i++){
    cout<<"Enter coef "<<(i+1)<<":\n";
    cin>>(a[i].coef);
    cout<<"Enter exp "<<(i+1)<<":\n";
    cin>>(a[i].exp);}
    cout<<"======================\n";
    for(int i=0;i<term;i++){
    if(i!=term-1)
    cout<<a[i].coef<<"X^"<<a[i].exp<<"+";
    else
    cout<<a[i].coef<<"X^"<<a[i].exp;}
    getch();
    }
    عکس های ضمیمه عکس های ضمیمه






قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •