Hola a todos estoy empezando a progamar en c y tengo una duda con un programa:
EL programa te pregunta cuantos números vas a escribir, después te pide que los escribas y devuelve el mayor de ellos.
En principio funciona bien pero si le dices por ejemplo que vas a introducir cuatro números e introduces tres no funciona a menos que escribas otro número.
¿Hay alguna manera de hacer que funcione si introduces menos datos de los que dijiste?
Código C:
Ver original/* Programa que usa la instrucción for. Se pide al usuario el número de datos y se determina el mayor de esos datos enteros
*/
# include <stdio.h>
# include <stdlib.h> //Librería necesaria para el system ("pause")
int main ()
{
int k; //contador (controla el for)
int ndatos; //número de datos
int dato; //valor a procesar
int ubi; //Posición del dato mayor
int max; //valor máximo
printf ("\nDime la cantidad de datos: "); printf ("\nEscribe los datos: "); max=dato;
for (k=1; k<=ndatos; k++)
{
if (dato>max)
{
max=dato;
ubi=k;
}
}
printf ("\nEl maximo de los %d datos es %d ubicado en %d\n\n", ndatos
, max
, ubi
);
system ("pause"); //Para que no se cierre la ventana de dos en Dev-C++ return 0;
}