#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 3
//creare un programma in cui viene calcolata la temperatura media di 5 comuni in una settimana ,
//indicare QUANTI comuni sono sotto la media e QUANTI sono sopra la media
//utilizzare caricamento, calcolo e stampa
struct _comuni
{
char nome[20];
float temperatura;
};
void Inserimento(struct _comuni [][N]);
void Stampa(struct _comuni [][N]);
int Media(struct _comuni [][N]);
void UpAndDown(struct _comuni [][N],float *);
int main()
{
struct _comuni comuni[N][N];
float media,*puntatore_media=&media;
Inserimento(comuni);
Stampa(comuni);
*puntatore_media=Media(comuni);
UpAndDown(comuni,puntatore_media);
return 0;
}
void Inserimento(struct _comuni comuni[][N])
{
for (int i=0;i<N;i++)
{
for(int j=0;j<N;j++)
{
if(j==0)
{
printf("Inserisci nome comune %d : ",i+1);
scanf("%s",&comuni[i][0].nome);
for(int k=1;k<N;k++)
{
strcpy(comuni[i][k].nome,comuni[i][0].nome);
}
}
printf("Inserisci temperatura %d del giorno %d al comune %s : ",i+1,j+1,comuni[i][j].nome);
scanf("%f",&comuni[i][j].temperatura);
}
}
}
void Stampa(struct _comuni comuni[][N])
{
for(int i=0;i<N;i++)
{
for(int j=0;j<N;j++)
{
printf("Nome comune %d : %s\ttemperatura : %f\tdella settimana %d\n",i+1,comuni[i][j].nome,comuni[i][j].temperatura,j+1);
}
}
}
int Media(struct _comuni comuni[][N])
{
float media=0;
int a=0;
for(int i=0;i<N;i++)
{
for(int j=0;j<N;j++)
{
media=media + comuni[i][j].temperatura;
}
}
for (int i=0;i<N;i++)
{
a=a+N;
}
media = media/(a);
return media;
}
void UpAndDown(struct _comuni comuni[][N],float *media)
{
int differenza_positiva=0,differenza_negativa=0;
for(int i=0;i<N;i++)
{
for(int j=0;j<N;j++)
{
if(comuni[i][j].temperatura >= *media)
{
differenza_positiva++;
printf("Il comune %d: %s con temperatura : %f e' superiore alla media : %f nel giorno %d\n",i+1,comuni[i][j].nome,comuni[i][j].temperatura,*media,j+1);
}
else
{
differenza_negativa++;
printf("Il comune %d: %s con temperatura : %f e' inferiore alla media : %f nel giorno %d\n",i+1,comuni[i][j].nome,comuni[i][j].temperatura,*media,j+1);
}
}
}
printf("I comuni superiori alla media sono : %d\ngli inferiori alla media sono : %d\n",differenza_positiva,differenza_negativa);
}
lo so e' in c, ma potrebbe esserti d'aiuto