En este post vamos a ver un algoritmo muy sencillo en C++: obtener el promedio de los valores de un arreglo.
Vamos a hacerlo en una función que recibe el arreglo y la longitud del mismo.
Aunque lo haremos con un arreglo de enteros, funcionará perfecto para otro tipo de arreglos, simplemente cambiando los tipos de dato.
El algoritmo es sencillo: se recorre todo el arreglo, posición por posición. En cada iteración, el valor actual se suma a una variable que llevará la sumatoria.
Después, se obtiene el promedio dividiendo la sumatoria entre la longitud del arreglo.
Aquí el código. Recuerda que ya expliqué en otro post cómo obtener la longitud de un arreglo en C, y funciona igualmente para C++.
#include <iostream>
#include <string>
// Definir prototipo de la función
double promedioDeArreglo(int arreglo[], int longitudDeArreglo);
int main() {
// Definición del arreglo
int arreglo[] = {95, 100, 94, 97, 100};
// Sacar su longitud, también se podría hacer dentro de la función
int longitudDeArreglo = sizeof(arreglo) / sizeof(arreglo[0]);
// Obtener e imprimir
double promedio = promedioDeArreglo(arreglo, longitudDeArreglo);
std::cout << "El promedio es " + std::to_string(promedio);
}
// Definir función
double promedioDeArreglo(int arreglo[], int longitudDeArreglo) {
// Vamos a acumular aquí la sumatoria
double sumatoria = 0;
for (int x = 0; x < longitudDeArreglo; x++) {
sumatoria += arreglo[x];
}
// El promedio es la sumatoria dividida entre el número de elementos
double promedio = sumatoria / longitudDeArreglo;
return promedio;
}
Por cierto, el valor de regreso es double
porque se pueden regresar valores que no sean enteros.
Hoy te voy a presentar un creador de credenciales que acabo de programar y que…
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Esta web usa cookies.