SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: ermiguel1979 en Jueves 17 de Diciembre de 2009, 13:31
-
Hola a todos, tengo un problemilla (para variar) con otro de mis amadísimos ejercicios de programación. La criatura en cuestión dice así:
"Realizar un algoritmo que pida un conjunto de números, los almacene en un vector y calcule el mayor, el menor y la media de dichos números".
Lo que llevo hecho hasta ahora, ni me pide los números a introducir, ni hace las operaciones que debería. Os pongo el código por si le pillasis el/los errores.
Gracias chicos...
#include <stdio.h>
#include <stdlib.h>
int main (void){
//VARIABLES
int vector[100]; //array donde se almacenan los numeros
int mayor, menor; //el mayor y el menor de todos
float media=0; //la media de los numeros
int i; //contador
int n; //cantidad de numeros a introducir
int suma; //suma de los numeros dados, de cara a la media
/*Leer Variables*/
printf("Indique numero de datos a introducir: ");
scanf("%i", &n);
//OPERACIONES
for(i=0; i>=n; i++){
printf("Introduzca numero: ");
scanf("%i", &vector);
}
/*Inicializar variables relativas al vector*/
mayor=vector[0];
menor=vector[0];
suma=vector[0];
/*Recorrer el vector comparando y sumando numeros*/
for(i=1; i>=n; i++){
if(vector>mayor) mayor=vector;
if(vector<menor) menor=vector;
suma=suma+vector;
}
media=suma/n;
//RESULTADOS
printf("El mayor es: %in", mayor);
printf("El menor es: %in", menor);
printf("La media es: %fn", media);
}
Un saludo y felices fiestas...
-
el problema esta en los dos ciclos
for(i=0; i>=n; i++)
y
for(i=1; i>=n; i++)
i nunca va a ser mayor o igual a n (a menos que pongas 0), por eso el ciclo nunca se realiza
>= mayor o igual
<= menor o igual
> mayor
< menor
por cierto trata de usar las etiquetas de codigo la proxima vez
-
Es correcto lo que te dice el compañero, la condicion del ciclo esta mal, deberia ser <, no >, ademas decir que los vectores en C/C++ siempre comienzan en cero, por lo tanto un vector de 10 elementos va del 0 al 9, por lo tanto la condicion debe ser <, no <=, si pones <= y son diez elementos, tratara de leer el elemento en la posicion 11, dado que el elemento 11 su indice es 10.
Saludos :)
-
Juer nenes, vosotros si que sabeis. Que pardo me quedo leyendo las explicaciones. La verdad es que no le cojo el rítmo ni con un tambor; menos más que estais vosotros.
Pues ya os digo, por una tontería te tiras toda la tarde rabiando porque no te funciona el programita.
Chapó por vosotros; gracias, gracias, gracias.
Un saludo!
Miguel.