Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Por que no me funciona y como lo corrijo??

Estas en el tema de Por que no me funciona y como lo corrijo?? en el foro de C/C++ en Foros del Web. El siguiente programa compila bien pero al ejecutarlo sale lo siguiente: sqrt: Domain error floating point errot: Domain Abnormal program termination Como lo corrijo Gracias ...
  #1 (permalink)  
Antiguo 16/07/2010, 09:54
 
Fecha de Ingreso: junio-2010
Mensajes: 9
Antigüedad: 13 años, 10 meses
Puntos: 0
Sonrisa Por que no me funciona y como lo corrijo??

El siguiente programa compila bien pero al ejecutarlo sale lo siguiente:

sqrt: Domain error
floating point errot: Domain
Abnormal program termination


Como lo corrijo

Gracias


Código:
//Programa que calcula las ternas pitagoricas
// del 1 al 500

#include<iostream.h>
#include<stdlib.h>
#include<conio.h>
#include<math.h>

int main()
{
  double p=0.0;

  system("cls");

	for(int i=1;i<=500;i++)
	{
	    for(int j=1;j<=500;j++)
	     {
		 p=(i*i)+(j*j);

		 for(int k=1;k<=sqrt(p);++k)
                 {
			if((p/(k*k)==1.0))
                        {
			 cout<<"Los numeros "<<i<<" "<<j<<" "<<k<<"  son una terna pitagorica";
                         getche();
                        }
                 }
            }

	}
	return 0;
}
  #2 (permalink)  
Antiguo 16/07/2010, 10:32
kkz
 
Fecha de Ingreso: julio-2010
Mensajes: 19
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Por que no me funciona y como lo corrijo??

asi a vote pronto:

estas comparando un int con un double (k<=sqrt(p)) y no se si es correcto. declara k como un double.
si utilizas cout tal como lo haces antes del main pon: using namespace std;
pon mejor: cout<<"Los numeros "<<i<<" "<<j<<" "<<k<<" son una terna pitagorica"<<endl;
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:57.