Guião laboratorial n.º 1 – exercício 10
“Desenvolva uma função que receba, como argumentos, o nome e a dimensão de um vetor de números reais e devolva um ponteiro para o elemento que mais se aproxima da média de todos os elementos do vetor.”
#include <stdio.h> #include <stdlib.h> #define TAM 10 int mais_proximo(int *v, int t){ int *p, media=0, soma=0, posi=0, dif=0, guarda[t], i, dif2=0; p=v; for(p=v;p<v+t;p++){ soma=soma+*p; } media=soma/t; for(p=v, i=0; p<v+t ; p++, i++){ dif=media-*p; if(dif<0){ dif=-dif; } guarda[i]=dif; printf("\n%d\t %d\t %d", i, guarda[i], media); } for(i=0, dif2=guarda[i]; i<t ; i++){ if(dif2>guarda[i]){ posi=i; dif2=guarda[i]; } } return posi; } int main() { int vector[]={11,2,63,4,55,6,106,8,99,1000}; int valor=0; valor=mais_proximo(vector, TAM); printf("\nEsta na posicao: %d", valor); return 0; }
Tags : Learn C
0 thoughts on “Guião laboratorial n.º 1 – exercício 10”