Primer 9 - Srednja vrednost
Vektor signal[] napuniti sa 600 slučajnih brojeva u opsegu vrednosti od 0 do 4096. Implementirati algoritam koji broji koliko odbiraka ima amplitudu vecu od srednje vrednosti brojeva u vektoru vek[] i nađenu vrednost smešta u promenljivu brojac.
Rešenje
#include <math.h>
#include <stdlib.h>
#define DUZINA 600
int signal[DUZINA];
void generisi_slucajni_signal(int s[], int n, int min, int max) {
int i;
for (i=0; i<n; i++) {
s[i] = rand()%(abs(min)+max)-abs(min);
}
}
float srednja_vrednost(int s[], int n) {
int i;
long sum=0;
for (i=0; i<n; i++) {
sum+=s[i];
}
return (float)((float)sum/(float)n);
}
int main(void) {
int brojac=0, i;
float srvr;
generisi_slucajni_signal(signal, DUZINA, 0, 4096);
srvr = srednja_vrednost(signal, DUZINA);
// brojanje negativnih
for (i=1; i<DUZINA; i++) {
if (signal[i]>srvr) {
brojac++;
}
}
while(1); // mrtva petlja
}