Il sito di Yahoo Answers verrà chiuso il 4 maggio 2021 (ora della costa est degli USA) e dal 20 aprile 2021 (ora della costa est degli USA) sarà in modalità di sola lettura. Non verranno apportate modifiche ad altre proprietà o servizi di Yahoo o al tuo account Yahoo. Puoi trovare maggiori informazioni sulla chiusura di Yahoo Answers e su come scaricare i tuoi dati in questa pagina di aiuto.

c++, help?

I dati relativi alle precipitazioni (in mm) in 5 città italiane nei 31 giorni di un mese sono organizzati con un'opportuna struttura dati.

L'algoritmo di divide in due parti: nella prima i dati vengono inseriti da tastiera e memorizzati nella struttura dati;

nella seconda , fornito da tastiera il nome della città e il giorno desiderato, viene mostrata a video la quantità di precipitazioni per quella città in quel giorno. */

#include <iostream>

#define r 31

#defice c 5

using namespace std;

int main()

{

 int m[r][c];

 char v[5];

 int i;

 //caricamento matrice//

 for (i=0;i<r;i++)

 {

  for (j=0;j<c;j++)

  {

   cout<<"inserisci I valori della matrice (riga " << i << "| colonna " << j << ") >> ";

   cin>> m[i][j];

  }

 }

 for(i=0;i<5;i++)

 {

  cout<<"inserisci il nome della " << i+1 << "citta': ";

  cin>>nome;

  cout<<endl;

  cout<<"inserisci il giorno desiderato: ":

  cin>>nome;

 }

}

help, come devo agire

Aggiornamento:

non ho capito 

2 risposte

Classificazione
  • Anonimo
    4 mesi fa
    Risposta preferita

    Una matrice 31 x 5 non è proprio il massimo per "un'opportuna struttura dati". Io avrei scelto una struct. Dato che l'ho usato per prova, la costante NC l'ho impostata a 2, ma puoi impostarla a 5, o a n, anche se risulta poi noioso inserire 155, o più, precipitazioni:

    // precipit.cpp

    #include <iostream>

    using namespace std;

    #define NC 2

    #define NG 31

    main()

    {

     int i,g,giorno;

     string citta;

     typedef struct p

     {

      string nc;

      float q[NG];

     }P;

     P gio[NC];

     for(i=0;i<NC;i++)

     {

      cout << "Nome citta': ";

      cin >> gio[i].nc;

      for(g=0;g<NG;g++)

      {

       cout << "Precipitazione del giorno: " << g+1 << " ";

       cin >> gio[i].q[g];

      }

     }

     cout << "Seleziona citta': ";

     cin >> citta;

     cout << "Seleziona il giorno: ";

     cin >> giorno;

     for(i=0;i<NC;i++)

      if((citta == gio[i].nc) && gio[i].q[giorno])

       cout << "Precipitazione del giorno: " << gio[i].q[giorno-1] << endl;

      system("pause");

    }

    Questo per evitare la noia di inserire 31 precipitazioni per n citta':

    // precipit.cpp

    #include <iostream>

    using namespace std;

    #define NC 5

    main()

    {

     int i,g,giorno;

     string citta;

     typedef struct p

     {

      string nc;

      float q[31];

     }P;

     P gio[5];

     srand(time(NULL));

     for(i=0;i<NC;i++)

     {

      cout << "Nome citta': ";

      cin >> gio[i].nc;

      for(g=0;g<31;g++)

      {

       cout << "Precipitazione del giorno: " << g+1 << " ";

       gio[i].q[g] = rand()%10;

       cout << gio[i].q[g] << endl;

      }

     }

     cout << "Seleziona citta': ";

     cin >> citta;

     cout << "Seleziona il giorno: ";

     cin >> giorno;

     for(i=0;i<NC;i++)

      if(citta == gio[i].nc) // && (gio[i].q[giorno]== giorno))

       cout << "Precipitazione del giorno: " << gio[i].q[giorno-1] << endl;

     system("pause");

    }

  • ?
    Lv 6
    4 mesi fa

    Beh...

    hai capito che M è una matrice? Cioè una struttura bidimensionale grande r x c (nel tuo caso 31x5).

    Nel for hai "i" come l'indice che punta alla matrice, direi che riesci a trovare nella matrice l'indice di quella città. Se chiedi di inserire anche il giorno desiderato (chiamiamolo "j"), trovi anche l'altro dato corrispondente, ovvero l'indice del giorno. Poi basta che stampi qualcosa del tipo:cout << "Nella città " << nome << " per il giorno " << i << " sono previsti  "<< m[i][j] << " millimetri di pioggia"

    Non mi sembra difficile, ragionateci...

Altre domande? Fai una domanda e ottieni le risposte che cerchi.