Buenas
Estaba haciendo un ejercicio en C cuyo enunciado es elaborar un programa que encuentre el valor mayor y menor de la suma de 10 numeros enteros introducidos por teclado.
Esto es lo que he hecho ;
#include <stdio.h>
int main(void){
int datos[10];
int cantidad_datos=10;
int i;
int mayor=0;
int menor;
int suma;
for(i= 0 ; i < cantidad_datos ; i++){
printf("\nIntroduzca el valor del número #%i\n", i
+1); }
for(i=0 ; i <cantidad_datos ; i++){
if(datos[i] > mayor)
mayor= datos[i];
}
printf("\nEl valor máximo es %d\n", mayor
); for(i=0 ; i<cantidad_datos ; i++){
if(datos[i] < menor)
menor = datos[i];
}
printf("\nEl valor mínimo es %d\n", menor
);
}
Es un código bastante sucio pero no me lo toméis en cuenta que estoy empezando.
Mi primera duda es como sumar todos los elementos del vector.Probé haciendo esto :
int suma;
suma= datos[1]+datos[2]+.... etc etc
pero no funcionó, podría hacerse con un for?
Y mi otra duda sería como optimizar el código con funciones.Es decir que hallar el mínimo lo haga una función llamada minimo(), el maximo otra llamada maximo()..
Para que esto fuera posible que debería hacer, al declarar la función pasar como parámetros esos valores y luego retornarlos al llamar la función?
Es decir algo como
int maximo(int mayor)
y luego hacer la llamada así?
maximo(mayor2)
o directamente no harían falta parámetros en la función?
No sé si me explico, a ver si alguien puede ayudarme