SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: _jOSe_ en Jueves 15 de Julio de 2004, 09:52
-
Hola amigos leei todos los post del foro C/C++ y ninguno me servia :(
La idea esque tengo que graficar polinomios hasta grado 4 en C . este es mi codigo que hice pero necesito ayuda..
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main(void)
{
int gdriver=EGA, gmode=EGALO, errorcode;
initgraph(&gdriver, &gmode, "C:\\TC\\BGI");
errorcode = graphresult();
if (errorcode != grOk)
{
printf("Error inicializando gráficos: %s\n",
grapherrormsg(errorcode));
printf("Pulse cualquier tecla para salir...");
getch();
exit(1);
}
printf("Grafica de Polinomios");
/*linea de arriba hacia abajo*/
setcolor(23);
line(300,13,300,190);
/* numeros izquierda negativos */
setcolor(3);
outtextxy(297,99,"0");
outtextxy(242,101,"-1");
outtextxy(187,101,"-2");
outtextxy(132,101,"-3");
outtextxy(77,101,"-4");
/*numeros derecha postivos*/
setcolor(14);
outtextxy(352,101,"1");
outtextxy(407,101,"2");
outtextxy(462,101,"3");
outtextxy(517,101,"4");
/*numeros abajo negativos*/
setcolor(15);
outtextxy(273,125,"-20");
outtextxy(273,165,"-40");
/*numeros arriba positivos*/
setcolor(15);
outtextxy(280,64,"20");
outtextxy(280,24,"40");
/*rectangulo*/
setcolor(4);
rectangle(10,9,600,194);
/*linea izquierda derecha*/
setcolor(23);
line(520,97,90,97);
/*cierre de linea izquierda*/
line(88,97,88,99);
line(89,97,89,99);
/*cierre linea derecha*/
line(520,97,520,99);
line(521,97,521,99);
outtextxy(407,115,"x");
outtextxy(242,55,"y");
getch();
closegraph();
return(0);
}
bueno y la furmala del polinomio es esta
X^0*A0+X^1*A1+X^2*A2+X^3*A3+X^n*An
((A)^4+( B )^3+©^2+(D)^1+e;
/* el ( B ) lo separe porke si lo ago juntito me sale esto (B) al igual que el ( C ) porke junto me sale esto © */
ahora esta formula la deje mas menos con lo que me pude imaginar :(
int a,b,c,d,e;
a,b,c,d,e=0;
printf("que grado?");
scanf ("%",&e);
printf("ingrese constante");
printf("ingrese lineal");
y=((A)^4+( B )^3+©^2+(D)^1+e;
/* el ( B ) lo separe porke si lo ago juntito me sale esto (B) al igual que el ( C ) porke junto me sale esto © */
for (y=0);
y hasta aqui no mas llego nose como seguir creo que los puntitos las curvas y eso lo debo hacer con el putextxy , pero ahy quede porfavor si fueran tan amables de ayudarme aconsejarme que debo hacer que pasos debo seguir se los agradeceria
desde ya muchas gracias, es super urgentee..
-
si te molesta la separacion de puntitos, tienes que usar la funcion lineto()
-
Hola, me preguntaba si ya pudiste hacer este programa, esque yo apenas empiezo en esto y en la escuela el maestro quiere que hagamos este programa pero nunca hemos visto graficas :(
ya sea que me respondas aqui o por mail, (paranoidgirl666@hotmail.com)
porfavor , estoy desesperada:(
-
Hola, lo que puedes hacer es evaluar la funcion desde el punto minimo hasta el maximo, y dibujas una linea desde el punto que evaluas al anterior o viceversa,aqui no hay problema por que la funcion no se indetermina en ningun lado, ahhh y usa escalas para que la grafica tenga un tamaño adecuado( esto lo haces con regla de 3).