Autor Tema: raices en C++

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

30 Octubre, 2012, 03:21 am
Leído 2070 veces

milly

  • $$\Large \color{#5372a0}\pi\,\pi$$
  • Mensajes: 99
  • Karma: +0/-0
  • Sexo: Femenino
acá hay otro para corrección

ejercicio: realizar un algoritmo para analizar el calculo de raíces de la ecuación cuadrática de la forma
\( ax^2+bx+c=0 \) .Mostrar un cartel que indique si las raíces son:iguales, distintas o complejas y calcularlas en los dos primeros casos.

 aca esta expresado en C++

#include<stdio.h>
#include<conio.h>
#include<math.h>
main()
{
int A,B,C,D;
float x1,x2;
printf("ingresar A\n");
scanf("%i",&A);
printf("ingresar B\n");
scanf("%i",&B);
printf("ingresar C\n");
scanf("%i",&C);
if(B*B-4*A*C==0)
{
x1=-B/2*A;
printf("la raiz doble es%f", x1);
}
if(B*B-4*A*C>0)
{
D=(B*B-4*A*C)
x1=(-B+sqrtD)/2*A;
x2=(-B-sqrtD)/2*A;
printf("la raiz  es%f", x1);
printf("la raiz  es%f", x2);
}
else
{
printf ("las raices son complejas");
}
getche();
}

me salta error donde marque con rojo y o se darme cuenta por que

30 Octubre, 2012, 03:46 am
Respuesta #1

HernanV

  • FIUBA
  • $$\Large \color{#5b61b3}\pi\,\pi\,\pi\,\pi\,\pi$$
  • Mensajes: 2,059
  • Karma: +2/-0
  • Sexo: Masculino
La línea de abajo es muy parecida... ¿No te tira error ahí también?. ¿Qué dice el error?.
\( \displaystyle\vec{\nabla}\times\mathbf{E}+\frac{\partial\mathbf{B}}{\partial t}=\vec{0} \)

30 Octubre, 2012, 04:37 am
Respuesta #2

Carolina Herschel

  • $$\Large \color{#5e8d56}\pi\,\pi\,\pi$$
  • Mensajes: 383
  • Karma: +0/-0
  • Sexo: Femenino
Hola

Veo varios errores:


if(B*B-4*A*C==0)
{
x1=-B/2*A;
printf("la raiz doble es%f", x1);
}

debería ser x1 = -B/(2*A), porque sino primero divide -B/2 y luego multiplica por A.

Luego, donde te sale el error, ¿no será porque es sqrt(D)? Creo que te faltan los paréntesis... Y ahí también recuerda poner en el denominador (2*A), porque sino es el mismo error de cálculo de antes...
"Math is like love -- a simple idea but it can get complicated."

30 Octubre, 2012, 05:04 am
Respuesta #3

Abdulai

  • Moderador Global
  • Mensajes: 3,044
  • País: ar
  • Karma: +0/-0
  • Sexo: Masculino
Digamos que sos bastante distraida o creés que un compilador viene con corrector ortográfico.


-  Un error es  x1=-B/2*A; , los operadores * y / tienen la misma prioridad.
   Debe ser  x1=-B/(2*A);

Después, solamente en tres líneas consecutivas:

   D=(B*B-4*A*C)
   x1=(-B+sqrtD)/2*A;
   x2=(-B-sqrtD)/2*A;


-  La línea  D=(B*B-4*A*C)   debe terminar en punto y coma .

-  sqrtD  no existe, te lo estó tomando como una variable no declarada. La función se escribe sqrt(D)

-  x1=(-B+sqrtD)/2*A;  y  x2=(-B-sqrtD)/2*A;   , lo mismo que antes.
    Se escribe x1=(-B+sqrtD)/(2*A);



30 Octubre, 2012, 06:20 pm
Respuesta #4

milly

  • $$\Large \color{#5372a0}\pi\,\pi$$
  • Mensajes: 99
  • Karma: +0/-0
  • Sexo: Femenino
Abdulai: muchas gracias y si tenes mucha razón que estoy muy distraída , es la primera vez que trabajo con un programa y debo ser mas atenta

30 Octubre, 2012, 06:22 pm
Respuesta #5

milly

  • $$\Large \color{#5372a0}\pi\,\pi$$
  • Mensajes: 99
  • Karma: +0/-0
  • Sexo: Femenino
muchísimas gracias Carolina