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

Valor absoluto de un float

Estas en el tema de Valor absoluto de un float en el foro de C/C++ en Foros del Web. Buenas, la duda es si se puede hacer el valor absoluto de un float con la función abs () o hay que usar otra función. ...
  #1 (permalink)  
Antiguo 23/10/2012, 12:59
 
Fecha de Ingreso: agosto-2012
Ubicación: Alcalá
Mensajes: 37
Antigüedad: 11 años, 8 meses
Puntos: 0
Valor absoluto de un float

Buenas, la duda es si se puede hacer el valor absoluto de un float con la función abs () o hay que usar otra función.

El caso es que tengo un programita:

Código C++:
Ver original
  1. #include<iostream>
  2. #include<stdio.h>
  3. #include <stdlib.h>
  4. #include <math.h>
  5. #include <time.h>
  6.  
  7. using namespace std;
  8.  
  9. float media_vector (int vector [], int n)
  10. {
  11.      int suma=0;
  12.      for (int i=0; i<n; i++)
  13.          suma=suma+i;        
  14.      return suma/n;                
  15. }
  16.  
  17. float desviacion_tipica_vector (int vector [], int n)
  18. {
  19.       float suma=0;
  20.       for (int i=0; i<n; i++)
  21.           suma=suma+((vector[i]-media_vector(vector, n))*(vector[i]-media_vector(vector, n)));
  22.       return sqrt(suma/n);  
  23. }
  24.  
  25. float desviacion_media_vector (int vector [], int n)
  26. {
  27.     float suma=0;
  28.     for (int i=0; i<n; i++)
  29.         suma=suma+abs(vector[i]-media_vector(vector, n));
  30.     return suma/n;
  31. }
  32.  
  33.  
  34.  
  35. void escribe_vector (int vector[], int n)  //funcion que escribe un vector
  36. {                                         //en filas de 10 elementos
  37.  for (int i=0; i<n; i++)
  38.      {
  39.      cout<<vector[i]<<'\t';
  40.      if (!((i+1)%10)) cout <<endl;
  41.      }
  42. }
  43.  
  44.            
  45. int main()
  46. {
  47.     srand(time(NULL));
  48.     int n=(rand()%10);
  49.     int vector [n];
  50.     for (int i=0; i<n; i++)
  51.         vector [i]=(rand()%100);
  52.     cout <<"El vector generado es: "<<endl;
  53.     escribe_vector (vector, n);
  54.     cout<<endl;
  55.     cout <<"La media es: "<<media_vector(vector, n)<<endl;
  56.     cout <<"La desviacion media es: "<<desviacion_media_vector(vector, n)<<endl;
  57.     cout <<"La desviacion tipica es: "<<desviacion_tipica_vector(vector, n)<<endl;
  58.    
  59.     system("PAUSE");
  60.     return EXIT_SUCCESS;
  61.  
  62. }
que me da el siguiente error en la línea 29: call of overloaded `abs(float)' is ambiguous

y no sé cómo solucionarlo..

Gracias :)
  #2 (permalink)  
Antiguo 23/10/2012, 13:53
Avatar de cronopiomx  
Fecha de Ingreso: mayo-2012
Ubicación: Programing Cloud
Mensajes: 282
Antigüedad: 12 años
Puntos: 28
Respuesta: Valor absoluto de un float

Hola, en la biblioteca de C++ <math.h> puedes usar para expresiones decimales la funcion fabs(-3.2) y en C <cmath> puedes usar abs(-3.2) y resuelto.

s2
cronos

Etiquetas: float, funcion, int
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 20:07.