Ultima modifica:
C:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int N;
int NN;
//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[50];
float temperatura;
};
void Inserimento(struct _comuni [][NN]);
void Stampa(struct _comuni [][NN]);
float Media(struct _comuni [][NN]);
void UpAndDown(struct _comuni [][NN],float *);
int main()
{
printf("Inserisci quanti comuni analizzare : ");
scanf("%d",&N);
printf("Inserisci quanti giorni analizzare : ");
scanf("%d",&NN);
struct _comuni comuni[N][NN];
float media,*puntatore_media=&media;
Inserimento(comuni);
Stampa(comuni);
*puntatore_media=Media(comuni);
UpAndDown(comuni,puntatore_media);
return 0;
}
void Inserimento(struct _comuni comuni[][NN])
{
for (int i=0;i<N;i++)
{
for(int j=0;j<NN;j++)
{
if(j==0)
{
printf("Inserisci nome comune %d : ",i+1);
scanf("%s",&comuni[i][0].nome);
for(int k=1;k<NN;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[][NN])
{
for(int i=0;i<N;i++)
{
for(int j=0;j<NN;j++)
{
printf("Nome comune %d : %s\t\ttemperatura : %.2f\t\tnel giorno %d\n",i+1,comuni[i][j].nome,comuni[i][j].temperatura,j+1);
}
}
}
float Media(struct _comuni comuni[][NN])
{
float media=0;
float a=0;
for(int i=0;i<N;i++)
{
for(int j=0;j<NN;j++)
{
media=media + comuni[i][j].temperatura;
}
}
for (int i=0;i<N;i++)
{
for(int j=0;j<NN;j++)
{
a++;
}
}
media =media/a;
return media;
}
void UpAndDown(struct _comuni comuni[][NN],float *media)
{
int differenza_positiva=0,differenza_negativa=0;
for(int i=0;i<N;i++)
{
for(int j=0;j<NN;j++)
{
if(comuni[i][j].temperatura >= *media)
{
differenza_positiva++;
printf("Il comune %d: %s\t\tcon temperatura : %.2f\t\te' superiore alla media : %.2f\t\tnel giorno %d\n",i+1,comuni[i][j].nome,comuni[i][j].temperatura,*media,j+1);
}
else
{
differenza_negativa++;
printf("Il comune %d: %s\t\tcon temperatura : %.2f\t\te' inferiore alla media : %.2f\t\tnel 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);
}
Spero che possa essere d'aiuto per qualcuno che inizia.