Título: ayuda raíz de ecuación cuadrática mediante ruffini en C Publicado por: nightcode en 30 Diciembre 2013, 23:49 pm Buenas, esta vez estoy haciendo un ejercicio en C que saque las raices de una ecuación de segundo grado mediante el método de rufini. Aquí les dejo el codigo:
#include <stdio.h> #include <stdlib.h> #include <math.h> int main () { int a, b, c; int i, j, r1, r2; printf("Ingrese los coeficientes de la ecuacion para mostrar sus raices"); printf("\nIngrese el primer coeficiente: "); scanf("%d", &a); printf("\nIngrese el segundo coeficiente: "); scanf("%d", &b); printf("\nIngrese el tercer coeficiente: "); scanf("%d", &c); /* * El primer for que va ascenso * */ for(i= 1 ; i==1 ; i++){ /* Primera operacion * de la regla de rufini * */ r1= i*a + b; b= r1; r1= b*i + c; if(r1 == 0){ c= 0; r1= i; printf("\nLa primera raiz es: %d", r1); } /* * Segunda operación * de la regla de rufini. * */ r2= i * a; r2= r2 + b; if(r2 == 0){ b= 0; r2= i; printf("\nLa segunda raiz es: %d", r2); } } /* * El segundo for que va en descenso * */ for(j= -1 ; j== -1 ; j--){ /* Primera operacion * de la regla de rufini * */ r1= j*a + b; b= r1; r1= b*j + c; if(r1 == 0){ c= 0; r1= j; printf("\nLa primera raiz es: %d", r1); } /* * Segunda operación * de la regla de rufini. * */ r2= j*a; r2= r2 + b; if(r2 == 0){ b= 0; r2= j; printf("\nLa segunda raiz es: %d", r2); } } return 0; } He estado casi obsesionado con hacerlo de esta manera y lo e modificado bastante. Lo que quiero hacer con los dos for es que vayan buscando números positivos y negativos hasta que consigan uno con el cual se cumplan las condiciones del if. El primer for va a buscar números positivos en orden ascendente, es decir que irá sumando de uno en uno e valor de la "i", a su vez cada valor de la "i" se irá multiplicando o sumando con los coeficientes que el usuario haya ingresado hasta que llegue al if, y si el resultado de la ultima suma es cero entonces quiere decir que el ultimo valor que tomó i es la primera raíz de la ecuación. Si el primer for no encontró las raíces en numero positivos, entonces que pase al siguiente for y busque en los numero s negativos, es decir que en este for la j va en descenso. Este for solo buscará número negativos, es decir desde el -1 hacia la izquierda. Bueno lo que sucede es que cuando compilo el programa e introduzco los coeficientes 1, 2 y 1 que corresponde a la ecuación: Ax^2 + Bx + C= 0 (A= 1, B= 2 y C= 1), entonces no me da ninguna raíz, como si los bucles no estuvieran trabajando. Cuando en realidad las raíces de esta ecuación son -1 y -1 sacandolas por el método de ruffini. Título: Re: ayuda raíz de ecuación cuadrática mediante ruffini en C Publicado por: ivancea96 en 31 Diciembre 2013, 00:32 am Código Ahí estás diciendo que solo se haga el ciclo mientras i sea == a 1. Cuando el avlor de i cambie, el ciclo no se volverá a repetir. Título: Re: ayuda raíz de ecuación cuadrática mediante ruffini en C Publicado por: nightcode en 31 Diciembre 2013, 14:52 pm Código Ahí estás diciendo que solo se haga el ciclo mientras i sea == a 1. Cuando el avlor de i cambie, el ciclo no se volverá a repetir. ya lo cambie casi listo gracias :D |