prova questo...
dovrebbe andare, specialmente sotto linux con il gcc...
semmai riposta
ciao
codice:
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#define NUMBER 5
float get_media(int *, int);
int get_massimo(int *, int);
int get_minimo(int *, int);
int nelem_major(int *,int, int);
int main()
{
int i; //intero di appoggio
int vettore[NUMBER]; //vettore dei numeri
int massimo, minimo; //senza spiegazioni... :))))
float media;
int n, nmag;
/*richiesta inserimento numeri*/
for(i = 0;i<NUMBER;i++){
printf("Inserisci il %d^ numero\n", i+1);
scanf("%d", &vettore[i]);
}
/*visualizzazione numeri*/
for(i =0;i<NUMBER;i++){
printf("%d\n", vettore[i]);
}
/*calcolo media, massimo e minimo*/
media = get_media(vettore, NUMBER);
massimo = get_massimo(vettore, NUMBER);
minimo = get_minimo(vettore, NUMBER);
printf("MEDIA: %f\nMASSIMO:%d\nMINIMO:%d\n", media, massimo, minimo);
/*numeri maggiori di n*/
printf("Dammi il limite: \n");
scanf("%d", &n);
/*la funzione nelem_major() mi ritornera correttamente il numero di elementi maggiori
a n*/
nmag = nelem_major(vettore, NUMBER, n);
printf("Ci sono %d elementi maggiori di %d",nmag, n);
return 0;
}
float get_media(int *v, int dim){
int somma=0;
int i;
for(i = 0; i<dim;i++){
somma += v[i];
}
return somma/dim;
}
int get_massimo(int *v, int dim){
int max = INT_MIN; /*inizialmente dichiaro max come il minimo possibile
rispetto all'architettura usata, utilizzando la costante
INT_MIN definita in limits.h*/
int i;
for(i =0; i<dim;i++){
if(v[i]>max) //c'è poco da spiegare...
max = v[i];
}
//alla fine del ciclo in max ci sara il massimo
return max;
}
int get_minimo(int *v, int dim){
int min = INT_MAX; /*inizialmente dichiaro min come il massimo possibile
rispetto all'architettura usata, utilizzando la costante
INT_MAX definita in limits.h*/
int i;
for(i =0; i<dim;i++){
if(v[i]<min) //c'è poco da spiegare...
min = v[i];
}
//alla fine del ciclo in min ci sara il massimo
return min;
}
int nelem_major(int *v,int dim, int n){
int numero = 0;
int i;
for(i=0;i<dim;i++){
if(v[i]>n)
numero++;
}
return numero;
}