#include <stdio.h>
#include <stdlib.h>
int *proximo_da_media(int *vec, int size) {
int *pos = vec;
float soma = 0;
for (int i = 0; i< size; i++) soma += pos[i];
float media = soma / size + 0.5f;
float diferenca
= abs(*pos
- media
); for (int i = 0; i < size;i++) {
if (abs(pos
[i
] - media
) < diferenca
) { diferenca
= abs(pos
[i
] - media
); vec = &pos[i];
}
}
return vec;
}
int main() {
int tabela[10] = {20, 30, 43, 5, 400, 1999, 9, 360, 3, 8};
int *posicao = proximo_da_media(tabela, 10);
printf("O endreco do ponteiro que aponta para o numero mais proximo da media e o %p e tem o valor %d\n", (void *)posicao
, *posicao
); }
//https://pt.stackoverflow.com/q/287889/101
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCmludCAqcHJveGltb19kYV9tZWRpYShpbnQgKnZlYywgaW50IHNpemUpIHsKICAgIGludCAqcG9zID0gdmVjOwogICAgZmxvYXQgc29tYSA9IDA7CiAgICBmb3IgKGludCBpID0gMDsgaTwgc2l6ZTsgaSsrKSBzb21hICs9IHBvc1tpXTsKICAgIGZsb2F0IG1lZGlhID0gc29tYSAvIHNpemUgKyAwLjVmOwogICAgZmxvYXQgZGlmZXJlbmNhID0gYWJzKCpwb3MgLSBtZWRpYSk7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IHNpemU7aSsrKSB7CiAgICAgICAgaWYgKGFicyhwb3NbaV0gLSBtZWRpYSkgPCBkaWZlcmVuY2EpIHsKICAgICAgICAgICAgZGlmZXJlbmNhID0gYWJzKHBvc1tpXSAtIG1lZGlhKTsKICAgICAgICAgICAgdmVjID0gJnBvc1tpXTsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gdmVjOwp9CgppbnQgbWFpbigpIHsKICAgIGludCB0YWJlbGFbMTBdID0gezIwLCAzMCwgNDMsIDUsIDQwMCwgMTk5OSwgOSwgMzYwLCAzLCA4fTsKICAgIGludCAqcG9zaWNhbyA9IHByb3hpbW9fZGFfbWVkaWEodGFiZWxhLCAxMCk7CiAgICBwcmludGYoIk8gZW5kcmVjbyBkbyBwb250ZWlybyBxdWUgYXBvbnRhIHBhcmEgbyBudW1lcm8gbWFpcyBwcm94aW1vIGRhIG1lZGlhIGUgbyAlcCBlIHRlbSBvIHZhbG9yICVkXG4iLCAodm9pZCAqKXBvc2ljYW8sICpwb3NpY2FvKTsKfQoKLy9odHRwczovL3B0LnN0YWNrb3ZlcmZsb3cuY29tL3EvMjg3ODg5LzEwMQ==