Tentei fazer aqui um programa que pede números até que o utilizador introduza o número "-1", quando isso acontece, o computador calcula a média aritimética dos valores digitados (exceto o -1). Pois bem, para uma quantidade "n" pre-definida, no caso, coloquei "200", o programa roda. Mas, e se o usuário digitasse muito mais de duzentos valores? Como fazer um looping for "infitino" até que se digite -1?
Meu programa:
#include <stdio.h>
#include <stdlib.h>
int ask_numbers(int vet[]);
int main (){
int *p;
p=malloc(200*sizeof(int));
if(!p) {
printf("falha na alocacao de memoria");
exit(1);
}
printf("A media aritimetica dos valores ditigados vale %d\n", ask_numbers(p));
system("pause");
free(p);
return 0;
}
int ask_numbers(int vet[]){
int i, soma=0, media=0;
for (i=1;;i++){
scanf("%d", &vet[i]); /*COMO FAZER PARA QUE O PROGRAMA FUNCIONE PARA n>200?*/
soma+=vet[i];
if (vet[i]==(-1)) {
media=(soma+1)/i;
return media;
}
}
}
Pergunta
MarlonS
Tentei fazer aqui um programa que pede números até que o utilizador introduza o número "-1", quando isso acontece, o computador calcula a média aritimética dos valores digitados (exceto o -1). Pois bem, para uma quantidade "n" pre-definida, no caso, coloquei "200", o programa roda. Mas, e se o usuário digitasse muito mais de duzentos valores? Como fazer um looping for "infitino" até que se digite -1?
Meu programa:
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.