prova questo...
dovrebbe andare, specialmente sotto linux con il gcc...![]()
![]()
semmairiposta
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; }

riposta
Rispondi quotando