• Jueves 18 de Abril de 2024, 05:58

Autor Tema:  a.yuda practica C++  (Leído 1057 veces)

cienfu

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
a.yuda practica C++
« en: Martes 23 de Febrero de 2010, 16:07 »
0
Tengo que hacer esta practica y no se ni por donde cogerla :'(

¿alguno sabria hacerla?

img692.imageshack.us/img692/6581/practicac.jpg

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


Gracias!

ProfesorX

  • Moderador
  • ******
  • Mensajes: 796
  • Nacionalidad: mx
    • Ver Perfil
Re: a.yuda practica C++
« Respuesta #1 en: Martes 23 de Febrero de 2010, 18:41 »
0
No se hacen tareas.

Si no sabes como hacerlo, es hora de que consigas un buen libro de programacon en C++, o bajes algun curso de internet y comiences a aprender, aun estas a tiempo.

Cuando ya hayas aprendido algo, comienza a hacerlo, y entonces, si tienes alguna duda o te marca algun error, puedes publicar lo que hayas hecho, y seguro mas de uno te ayudara, de otra forma, nadie te hara el trabajo.

Saludos :)

NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================

cienfu

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: a.yuda practica C++
« Respuesta #2 en: Martes 23 de Febrero de 2010, 18:44 »
0
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=rand();
        y=a(x);
        z=b(x);
    }
    cout<<"Polinomio a: "<<a<<endl;
    for (int i=0;i<3;i++)  {
        cout<<"Evaluaciones del polinomio a en: x="<<x<< ",es : "<< y<<endl;
    }
    cout<<"Polinomio b: "<<b<<endl;
    for (int i=0;i<3;i++)  {
        cout<<"Evaluaciones del polinomio b en: x="<<x<< ",es : "<< z<<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=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=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=c;    
}                                            
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*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;
   return out;
}
istream & operator>>(istream & in, poli & a) {//operador extraccion
    in >> a.grado;
   for(uint i=0; i<a.grado; i++) in >> a.coef;
   return in;
}