AYUDA PARA GENERAR POLINOMIO

Iniciado por wazausky, 27 Marzo 2013, 01:35 AM

0 Miembros y 1 Visitante están viendo este tema.

wazausky

BUENOS DIAS PRIMERO QUE NADA
MIREN ESTE PROGRAMA:


#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
 float c, a, f, n;
 c=0;
 f=0;
 while (1)
 {
       printf("a%g = ", c);
       scanf("%f", &a);
       printf("f(x) = %gx^%g\n", a, c);
       c++;
 }
 system("PAUSE");
 return 0;
}


SE TRATA DE LO SIGUIENTE
tengo que generar una funcion de grado n, un polinomio de la forma:
aox^0 + a1x^1 + a2x^2 + a3x^3 + ... + anx^n
pero de tal forma que si algun coeficiente a es igual a cero, el termino no se muestre.
de igual manera si el exponente de la x es igual a 0 o 1, el exponente no se debe mostrar en el caso de que sea 1 y la equis debe ser igual a uno en el caso que su exponente sea cero ya que x elevada a la potencia cero es igual con cero
si alguien me puede ayudar muchas gracias
si no me explique bien dejen respueste :) me urge de verdad :)

CADA VALOR QUE IMPRIME, NECESITO SUMARLOS TODOS Y QUE LOS MUESTRE EN UN SOLO RENGLON :/

durasno

Hola! no es por nada pero lo unico que hace el codigo es ingresar un dato en la variable "a" y luego imprimirla(muy poco para lo que pide el problema).

Para las condiciones que pide el ejercicio tenes que usar el "if", por ejemplo:
scanf("%f"&a);
if(a!=0)
  imprimir;


Intenta hacer algo mas como para ayudarte. Saludos
Ahorrate una pregunta, lee el man

wazausky

lo que pasa es que tengo que meter un numero n de datos, y al detenerme, sinceramente no se como, pero al detenerse que genere el polinomio con esos coeficientes :S

leosansan

Cita de: wazausky en 27 Marzo 2013, 02:26 AM
lo que pasa es que tengo que meter un numero n de datos, y al detenerme, sinceramente no se como, pero al detenerse que genere el polinomio con esos coeficientes :S

Código (cpp) [Seleccionar]
#include <stdio.h>,
#include <stdlib.h>
#definr N   5
int main(int argc, char *argv[])
{
    float  a[N]={0};
    int i,c;
    c=0;
    do
    {
        scanf("%f", &a[c]);
        if (a[c]==1122)
            break;
        c++;

    }while (1);
    for (i=0;i<c;i++){
        if (a[i]==0)
            continue;
        if ( a[i]==1)
            printf("%g+", a[i]);
        else
            printf("%gx^%d+", a[i], i);
    }
    printf(" \b\b\n") ;
    system("PAUSE");
    return 0;
}


Saluditos! ...