En este post de programación en C te enseñaré a calcular el valor absoluto de un número.
El valor absoluto es la distancia que existe entre dos puntos de una recta, y esta distancia siempre será positiva.
Explicado con otras palabras y sin ser matemático, el valor absoluto es convertir un número a su representación positiva en caso de que éste sea negativo.
Anteriormente te enseñé cómo convertir un número negativo a positivo en C en donde vimos funciones nativas, pero en este post te enseñaré cómo hacer una función propia.
Obtener el positivo del negativo
Primero comprobamos si el número es negativo, y para convertirlo simplemente lo multiplicamos por menos 1 o lo negamos. En este caso lo voy a multiplicar por -1. Entonces queda así:
double valorAbsoluto(double numero)
{
if (numero < 0)
{
return numero * -1;
}
return numero;
}
Poniendo todo junto
No hay más que agregar, pasemos directamente al modo de uso desde el método main. El código queda así:
// https://parzibyte.me/blog
#include <stdio.h>
#define CANTIDAD_NUMEROS 5
double valorAbsoluto(double numero)
{
if (numero < 0)
{
return numero * -1;
}
return numero;
}
int main(int argc, char const *argv[])
{
double numeros[CANTIDAD_NUMEROS] = {
-50,
1.23,
-0.95341,
-10,
500.62};
int i;
for (i = 0; i < CANTIDAD_NUMEROS; i++)
{
double numero = numeros[i];
printf("Valor absoluto de %lf: %lf\n", numero, valorAbsoluto(numero));
}
return 0;
}
Al ejecutarlo para probar la función, los resultados son correctos. Si el número ya es positivo, no se le hace modificación. Y en caso de que el mismo sea negativo, se convierte a positivo: