Guião laboratorial n.º 1 – exercício 2

“Desenvolva uma função que receba, como argumentos, o nome a dimensão de uma tabela unidimensional de números inteiros e que coloque a zero todos os elementos cujo valor seja inferior à média dos elementos dessa tabela. Pode assumir que quando a função for chamada a tabela já foi inicializada.”


#include <stdio.h>
#include <stdlib.h>

#define TAM 10

void recebe(int *d, int t){
int *e,soma=0;
float media=0;

for(e=d;e<d+t;e++){
  soma=soma+ *e;
}
printf("\nsoma: %d", soma);
media=(soma/t);
printf("\nmedia: %f", media);

for(e=d; e<d+t;e++){
  if(*e<media){
    *e=0;
  }
}

}

int main()
{
  int nome[TAM]={0,1,2,3,4,5,6,7,8,9};
  int *q;

  printf("\nAntes ");
  for(q=nome+0;q<nome+TAM;q++){
    printf("%d ", *q);
  }
  recebe(nome, TAM);
  printf("\nDepois ");
  for(q=nome+0;q<nome+TAM;q++){
    printf("%d ", *q);
  }

return 0;
}

Tags :