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

“Desenvolva uma função que determine quantos elementos de uma tabela de inteiros são iguais à média dos seus dois vizinhos. A função recebe como argumentos um ponteiro para o início da tabela, o número de elementos que esta contém e um ponteiro para uma variável inteira onde deve ser colocado o resultado (i.e., quantos elementos são iguais à média dos seus vizinhos). A sua declaração é a seguinte:

void vizinhos(int *tab, int dim, int *igual);

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

#define TAM 10

void vizinhos(int *tab, int dim, int *igual){
float media=0;
int *p, conta=0, soma=0;
for(p=tab+1; p<tab+dim; p++){
soma=soma+ *p;
}
media=soma/dim;
for(p=tab+1; p<tab+dim; p++){
if(*p==media){
  conta++;
}
}
printf("\nMedia %f ", media);
*igual=conta;
}

int main()
{
int vector[]={0,1,2,3,4,5,6,7,8,9};
int resultado=0;
vizinhos(vector, TAM, &resultado);
printf("\nTotal de elementos iguais a media dos visizinhos %d ", resultado);
return 0;
}


Tags :