Hack x Crack - Comunidad de Seguridad informática

Programación => C / C++ => Mensaje iniciado por: r1ghtz0 en Julio 29, 2013, 11:02:27 pm

Título: sumar polinomios con estructuras
Publicado por: r1ghtz0 en Julio 29, 2013, 11:02:27 pm
Buenas que tal? en este ejercicio de estructuras que dice de la siguiente
manera:

Definir una estructura de datos para representar polinomios de hasta grado 10.
Escribir un programa capaz de sumar dos plinomios expresados con dicha
estrucutra.

El problema que tengo en mi mente ahora es que  no sé cómo hacer este ejercicio
con estructuras, allí puse una pero me parece más que basura poner estructuras
aquí. Por eso fue que lo hice con arrays y me fue hasta más facil. Lo que
quiero es que me den una idea de cómo hacer esto con las estructura que me
piden en el enunciado.

Aquí el code:
Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>

struct{
int grado;
int coef;
}p1, p2;

int main(int argc, char **argv)
{
printf("Ingrese el grado del primer polinomio: ");
scanf("%d", &p1.grado);
printf("nIngrese el coeficiente del primer polinomio: ");
scanf("%d", &p1.coef);

printf("Ingrese el grado del primer polinomio: ");
scanf("%d", &p2.grado);
printf("nIngrese el coeficiente del primer polinomio: ");
scanf("%d", &p2.coef);

int polinomio1[p1.coef+1], polinomio2[p2.coef+1], resultado[p1.coef+1];
int i;
polinomio1[0]= 0;
polinomio2[0]= 0;
resultado[0]= 0;

for(i= 1 ; i <= p1.coef ; i++){
printf("nIngrese el coeficiente %d: ", i);
scanf("%d", &polinomio1[i]);
}

for(i= 1 ; i <= p1.coef ; i++){
printf("nIngrese el coeficiente %d: ", i);
scanf("%d", &polinomio2[i]);
}

for(i= 1 ; i <= p1.coef ; i++){
    resultado[i]= polinomio1[i] + polinomio2[i];
}

    for(i= 1 ; i<= p1.coef ; i++){
printf("%d", resultado[i]);
}

return 0;
}
Título: Re:[ayuda] sumar polinomios con estructuras
Publicado por: ravenheart en Julio 30, 2013, 09:00:27 am
Yo simplemente haría...

Código: [Seleccionar]
struct Polinomio
{
    double coeficiente[11];   //desde x^0 hasta x^10
};

El índice en el array es el grado del término.
Título: Re:[ayuda] sumar polinomios con estructuras
Publicado por: r1ghtz0 en Julio 31, 2013, 06:27:05 am
Yo simplemente haría...

Código: [Seleccionar]
struct Polinomio
{
    double coeficiente[11];   //desde x^0 hasta x^10
};

El índice en el array es el grado del término.

Gracias por la idea ravenheart, es mejor así pero tuve que cambiar la variable "double coeficiente[11]" por "int coeficiente[10]", lo que sucede es que me da un mensaje de error en el compilador cuando uso el:

Código: [Seleccionar]
scanf("%f", &p1.coeficiente[i]);

Por eso fue que lo cambié a "int"
Título: Re:[ayuda] sumar polinomios con estructuras
Publicado por: ravenheart en Agosto 03, 2013, 05:28:40 pm
Para un double tendrías que usar "%lf".

Para "%f" tendría que ser de tipo float.

Con estas funciones de formato es muy importante especificar correctamente el tipo de parámetro, tamaño incluido.

Además, el array tiene que ser de 11 elementos, desde el coeficiente cero (el término independiente x^0) hasta el coeficiente 10 (x^10)