none
Ayuda practica C++

    Question

  • Tengo que hacer esta practica y no se ni por donde cogerla :'(

    ¿alguno sabria hacerla?

    [IMG]http://img692.imageshack.us/img692/6581/practicac.jpg[/IMG]

    se que no es tan complicada pero soy totalmente incapaz de conseguir hacerla hoy -.-


    Gracias!
    Tuesday, February 23, 2010 3:07 PM

All replies

  • Ya lo he conseguido hacer, el problema es que lo hemos hecho entre tres compañeros y ahora tenemos que cambiarlo para que no parezca que nos ayudamos, ya que el profesor de la carrera tienes un programa que detecta copias, alguna idea?


    -----------------




    #include <iostream>
    #include <cmath>
    #define MAXGRADO 20
    using namespace std;
    typedef unsigned int uint;

    class poli {//CLASE POLINOMIO 

    //ATRIBUTOS DE LA CLASE
    private: 
    float coef[MAXGRADO+1]; 
    uint grado; 
    float eval; 
    public: 
    poli();
    void setgrado(uint grado);
    uint getgrado() const;
    float getcoef(uint i) const;
    void setcoef(uint i);
    void setpoli(float c[]);
    float operator [] (uint i) const;
    float&operator [] (uint i);
    float operator () (float a) const;
    operator int () const;
    operator float () const; 
    friend ostream & operator<<(ostream & out, const poli & a);
    friend istream & operator>>(istream & in, poli & a);
    };

    int main() {
    float x[3],y[3],z[3];
    poli a,b;
    cout<<"Introduzca el polinomio a: "<<endl;
    cin>>a;
    cout<<"\nIntroduzca el polinomio b: "<<endl;
    cin>>b;
    for (int i=0;i<3;i++) {
    x[i]=rand();
    y[i]=a(x[i]);
    z[i]=b(x[i]);
    }
    cout<<"Polinomio a: "<<a<<endl;
    for (int i=0;i<3;i++) {
    cout<<"Evaluaciones del polinomio a en: x="<<x[i]<< ",es : "<< y[i]<<endl;
    }
    cout<<"Polinomio b: "<<b<<endl;
    for (int i=0;i<3;i++) {
    cout<<"Evaluaciones del polinomio b en: x="<<x[i]<< ",es : "<< z[i]<<endl;
    }
    system("PAUSE");
    return 0;
    };

    poli::poli():grado(0),eval(0) {// costructor por defecto grado 0 y coef 0 
    for(int i=0;i<MAXGRADO;i++) coef[i]=0; 
    } 

    uint poli::getgrado() const { //devuelve el grado del polinomio 
    return grado; 
    } 

    void poli::setgrado(uint g) {//ajusta el grado a un entero sin signo dado
    if(g<=MAXGRADO){ 
    for (int i=g+1;i<MAXGRADO;i++) { 
    coef[i]=0; 
    } 
    grado=g;
    } 
    } 
    void poli::setpoli(float c[]) {//cambia los coef del pol por los del array
    for (int i=0;i<=grado;i++) coef[i]=c[i]; 
    } 
    float poli::operator [] (uint i) const {
    return ((grado>0)?coef[i%grado]:coef[0]);
    }
    float&poli::operator [] (uint i) {
    return ((grado>0)?coef[i%grado]:coef[0]);
    } 
    float poli::operator () (float a) const {
    float res=0;
    for(int i=0;i<=grado;i++) {
    res+=coef[i]*pow(a,i);
    }
    return res;
    }
    poli::operator int () const {
    return this->getgrado();
    }
    poli::operator float() const{
    return eval;
    }
    ostream & operator<<(ostream & out, const poli & a) {//operador insercion
    out<<a.grado<<endl;
    for(uint i=0; i<a.grado; i++) out << ' ' << a.coef[i];
    return out;
    }
    istream & operator>>(istream & in, poli & a) {//operador extraccion
    in >> a.grado;
    for(uint i=0; i<a.grado; i++) in >> a.coef[i];
    return in;
    }

    Tuesday, February 23, 2010 5:45 PM
  • Je... como dato cultural... muchos maestros se meten a estos foros, sobre
    todo uno tan concurrido como el de MSDN...

    Saludos.




    Fernando Gómez
    www.fermasmas.com
    Saturday, March 06, 2010 9:43 AM
  • Je je, qué malo maloso que eres. :-)
    Visita mi blog sobre desarrollo: http://geeks.ms/blogs/rfog/
    Monday, March 08, 2010 10:11 AM