Duda principiante

Si eres principiante y tienes alguna consulta entra en este foro.
Responder
Mensaje
Autor
gery25
Mensajes: 2
Registrado: 10/06/2019 1:15 pm

Duda principiante

#1 Mensaje por gery25 » 10/06/2019 1:21 pm

Buenas! Soy nuevo por aquí y repasando un poco de lenguaje C, me he encontrado con un ejercicio muy sencillo que realiza la media de los números que se le indica.
El problema es que con todos los valores probados funciona excepto con 34! (Valores más pequeños hasta 34 funciona y valores mayores hasta 50 también). Cuando entro 34 valores, sean los que sean, el resultado de la media siempre es "1193099393920735400000000000000.00". Alguna idea de porque me sucede esto?

Código: Seleccionar todo

#include <stdio.h>

int main(){
	
	int x; 
	int i=0;
	int j=0;
	float media[x]; 
	float suma=0;
	float mediatotal=0;
	
	//Introducimos la cantidad de numeros a los que le haremos la media
	
	printf("Introduce la cantidad de numeros para realizar la media: ");
	scanf("%i", &x);
	
	//Guardamos los valores en un vector de largo del valor introducido en los numeros a hacer la media
	
	for(i = 0 ; i < x ; i++){
		printf("Entra el numero %i para realizar la media: ",i+1); 
		scanf("%f", &media[i]);		
	}
	
	//Cogemos estos valores y realizamos la suma de todos ellos
	
	for(j=0 ; j <= x ; j++){	
		suma = suma + media[j];		
	}
	
	mediatotal = suma / x;
	printf("La media es: %0.2f \n", mediatotal); 
	
	system("pause");
	return 0;
}
Última edición por mollok el 10/06/2019 1:28 pm, editado 1 vez en total.
Razón: Los códigos deben ir entre etiquetas 'code', botón </>

mollok
Mensajes: 492
Registrado: 30/01/2018 9:47 am
Ubicación: Mallorca, España

Re: Duda principiante

#2 Mensaje por mollok » 10/06/2019 1:28 pm

Esto está mal:

Código: Seleccionar todo

	for(j=0 ; j <= x ; j++){	
		suma = suma + media[j];		
	}
Nunca deberías de llegar a x.
while(is_alive(yourself)) {
    make_true(yourself, yourdreams);
}

gery25
Mensajes: 2
Registrado: 10/06/2019 1:15 pm

Re: Duda principiante

#3 Mensaje por gery25 » 10/06/2019 1:53 pm

mollok escribió:
10/06/2019 1:28 pm
Esto está mal:

Código: Seleccionar todo

	for(j=0 ; j <= x ; j++){	
		suma = suma + media[j];		
	}
Nunca deberías de llegar a x.
Cierto!! Muchas gracias!!

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: Google [Bot] y 4 invitados