elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / Suma Polinomio con monomio C (TDA, estructura enlazada e inmutable) en: 21 Junio 2014, 13:45 pm
Buenas estoy haciendo una función que sume un monomio a un polinomio, la función es inmutable y usa una estructura enlazada.

Mi problema es que al hacer la suma (parece que la hace bien) también se modifica el valor del PolinomioP1 y eso no tiene que pasar ya que después tengo que hacer mas operaciones con el polinomio.

Este es el resustado de la ejecucion
PolinomioP1: +2.0x^4 +1.0x^3 +1.0x^2 -5.0x^0
Monomio: 11x^3
SumaMonomio: +2.0x^4 +12.0x^3 +1.0x^2 -5.0x^0

PolinomioP1: +2.0x^4 +12.0x^3 +1.0x^2 -5.0x^0

Código
  1. typedef struct Celda {
  2. int grado;
  3. float coef;
  4. struct Celda * sig;
  5. } CeldaRep;
  6.  
  7. typedef CeldaRep * CeldaAp;
  8.  
  9. typedef void * Polinomio;
  10.  
  11. Polinomio SumaMonomio(Polinomio p, int grado, float coeficiente) {
  12. CeldaAp Pol = p;
  13. CeldaAp c = p;       //copia de p para recorrer los bucles;
  14. while((c->sig!=NULL) && (c->sig->grado > grado)) {
  15. Pol->coef = c->sig->coef;
  16. Pol->grado = c->sig->grado;
  17. //Pol->sig->sig = c->sig->sig;
  18. c = c->sig;
  19. Pol=Pol->sig;
  20. //printf("%1.1fx^%i \n",Pol->sig->coef,Pol->sig->grado);
  21. }
  22.  
  23. if ((c->sig!=NULL)&&(c->sig->grado==grado)) {
  24. Pol->sig->coef = c->sig->coef + coeficiente;
  25.  
  26. if (Pol->sig->coef == 0) {
  27. CeldaAp aux = Pol->sig;
  28. Pol->sig = Pol->sig->sig;
  29. free(aux);
  30. }
  31. }
  32. else {
  33.  
  34.        //crear los if por si no hay memoria
  35. CeldaAp aux = malloc(sizeof(CeldaRep));
  36. aux->coef = coeficiente;
  37. aux->grado = grado;
  38. aux->sig = Pol->sig;
  39. Pol->sig = aux;
  40. }
  41. return Pol;
  42. }

Alguien me podría ayudar  :D

Gracias, saludos.
2  Informática / Hardware / Caja para mi nuevo ordenador compatible con Corsair Cooling H110 en: 1 Noviembre 2013, 19:26 pm
Buenas
Estoy montándome un ordenador por piezas, le quiero poner refrigeración liquida (Corsair Cooling Hydro Series H110), pero la mayoría de cajas que he visto no soportan los 280mm del radiador, mi presupuesto en la caja me gustaría que no fuese superior a los 85€ pero si en necesario lo aumentaría, la placa base es ATX, alguna sugerencia?
Esta es la caja que tenia en mente: http://www.pccomponentes.com/corsair_carbide_300r_compact_gaming_case_negra.html

Gracias y un saludo
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines