Ricevuto in input un certo numero di interi POSITIVI calcolare la media dei numeri pari inseriti, dei dispari e di tutti i numeri inseriti.
Ecco il mio in C...indentato male lo so...ma è quel pazzo di Dev C/C++...lo odio, ma ma mi sono trovato a scrivere ste linee di codice su win...XD
Ecco il mio in C...indentato male lo so...ma è quel pazzo di Dev C/C++...lo odio, ma ma mi sono trovato a scrivere ste linee di codice su win...XD
Codice:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
int max;
do {
printf("Quanti numeri di interi da inserire? \n>");
scanf("%d", &max);
if(max <= 0) printf("Hai inserito un valore non valido. Reinserisci. ");
}while(max <= 0);
int i, numeri[max], numPari = 0, numDispari = 0, x = 0, somma = 0;
float media = 0, mediaPari = 0, mediaDispari = 0;
float sommaPari = 0, sommaDispari = 0;
for(i = 0; i < max; i++) {
printf(" \nInserisci intero positivo da salvare n. %d : \n > ", (i + 1));
scanf("%d", &x);
if(x < 0) {
printf("\n Non puoi inserire numeri negativi! \n ");
i--;
continue;
}
if (x%2 == 0) {
sommaPari += x;
numPari++;
}
else {
sommaDispari += x;
numDispari++;
}
}
if(numPari != 0 && numDispari != 0) {
mediaPari = sommaPari/numPari;
mediaDispari = sommaDispari/numDispari;
media = (sommaDispari + sommaPari)/max;
printf("\nMedia = %f \nMedia Pari = %f \nMedia Dispari = %f \n\n ", media, mediaPari, mediaDispari);
}
else {
if(numDispari == 0) {
mediaPari = sommaPari/numPari;
media = sommaPari/max;
printf("\nMedia = %f \nMedia Pari = %f \nNon e' stato possibile calcolare la media dei dispari.\n", media, mediaPari);
}
else {
media = sommaDispari/max;
mediaDispari = sommaDispari/numDispari;
printf("\nMedia = %f \nMedia dispari = %f \nNon e' stato possibile calcolare la media dei pari.\n", media, mediaDispari);
}
}
system("PAUSE");
return 0;
}