Advertisement
sakkat

Untitled

Jun 17th, 2019
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.26 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. double media(int *vet){
  5.     double soma=0;
  6.     double I;
  7.     for(int a=0;a<99999;a++){ //For do numero de elementos
  8.         if(vet[a]==-1){ //Caso encontre o -1, salva o valor de a e sai do for
  9.             I=a;
  10.             break;
  11.         }
  12.         soma=soma+vet[a]; //caso contrario, adiciona o valor encontrado na soma
  13.  
  14.     }
  15.     double media=soma/I; //Calcula a media
  16.     return media; //Retorna a media para função principal
  17.  
  18. }
  19.  
  20.  
  21. int main(void) {
  22.     double vetor[99999]; //Vetor de 99999 posições pra simular entradas infinitas
  23.     for(int p=0;p<99999;p++){
  24.         vetor[p]=-1; //inicializa o vetor com -1 em todas posições
  25.  
  26.     }
  27.  
  28.     int I=0;  //Indice do vetor
  29.     while(1){
  30.         int b;
  31.         printf("Digite o valor %i: \n",I+1);
  32.         fflush(stdout);
  33.         scanf("%i",&b); //Le valor inteiro em b
  34.         if(b>=0.0){  //verifica se b é positivo
  35.             vetor[I]=b;  //Coloca b no indice I do vetor
  36.             I++;  //Aumenta o valor do indice para o proximo while
  37.         }
  38.         else{
  39.             break; //Se for negativo sai do while
  40.         }
  41.     }
  42.  
  43.  
  44.     double terv=media(vetor);//chama a função media com parametro do vetor e recebe o valor da media
  45.  
  46.     printf("Media: %.3f \n",terv);//Imprime resultado
  47.     fflush(stdout);
  48.     scanf("%i",&I);  //Similar ao system pause para não fechar o programa imediatamente
  49.     return 0;
  50.  
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement