Dev - C++ - Necesito ayuda con programa en C++

 
Vista:

Necesito ayuda con programa en C++

Publicado por Rafa (4 intervenciones) el 09/07/2004 11:03:08
Hola me llamo Rafa y necesito ayuda con un programa en C++, para un ejercicio de la carrera (ya que no tengo los ejercicios resultos). El enunciado es:

"Dado que no es aconsejable utilizar la igualdad entre números reales por ser dependiente de la precisión, diseñar una función que devuelva el valor true cuando sus dos argumentos reales son iguales para una tolerancia dada, y false cuando no lo sean. Utilizar para ello el siguiente prototipo:

bool IgualesR(const float v1, const float v2, const float tolerancia)"

El ejercicio sólo lo puedo resolver de forma iterativa (nada de recursión).

Gracias de antemano y un saludo para toda la gente del foro.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Necesito ayuda con programa en C++

Publicado por Gilberto (43 intervenciones) el 10/07/2004 04:24:59
Disculpa por mi sugerencia, pero quizás lo obvio sea buena opción; tu función sólo debe checar que el valor absoluto de la diferencia de los números sea menor que la tolerancia :

#include <iostream>
#include <stdlib.h>
using namespace std;

bool Iguales(const float v1, const float v2, const float tolerancia)
{
return(abs(v1-v2) < tolerancia);
}

int main()
{
float x = 12.2356;
float y = 12.2345;
float t = 13.01;
float epsilon0 = 1;
float epsilon1 = 0.5;
float epsilon2 = 0.05;
float epsilon3 = 0.005;
float epsilon4 = 0.000005;

cout << Iguales(x,y,epsilon3) << endl;
cout << Iguales(x,y,epsilon2) << endl;
cout << Iguales(x,y,epsilon1) << endl;
cout << Iguales(x,y,epsilon4) << endl;
cout << Iguales(x,t,epsilon3) << endl;
cout << Iguales(x,t,epsilon1) << endl;
cout << Iguales(x,t,epsilon0) << endl;
system("PAUSE");
return 0;
}

Bueno, espero que sea lo que buscas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar