Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - mi serve un aiuto in c++
Forum - C/C++ - mi serve un aiuto in c++ - Pagina 3

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
enneZeta (Normal User)
Newbie


Messaggi: 4
Iscritto: 21/11/2020

Segnala al moderatore
Postato alle 20:29
Lunedė, 23/11/2020
Testo quotato

Postato originariamente da enneZeta:
Testo quotato

Postato originariamente da AldoBaldo:
Non so se comprenda argomenti che enneZeta non ha ancora affrontato, però potrebbe essere una soluzione anche quella di basare il programma su cicli che possano operare su quantità di vettori e di elementi per vettori più semplicemente modificabili.

Ad esempio, in questo caso basterebbe modificare g_qVett, g_qMinVal e g_qMaxVal per adattare il programma a una gamma di vettori più flessibile...

Codice sorgente - presumibilmente C#

  1. #include <iostream>
  2. using namespace std;
  3.  
  4. // costanti globali (volendo si potrebbero anche usare dei #define)
  5. const int g_qVett   = 2; // quantita' dei vettori da trattare
  6. const int g_qMinVal = 1; // quantita' minima dei valori ammessi in ogni vettore
  7. const int g_qMaxVal = 9; // quantita' massima dei valori ammessi in ogni vettore
  8.  
  9. // prototipi
  10. bool richiesta_dimensioni_vettore( int idVett, int *qEl );
  11. bool richiesta_dati_vettore( int idVett, int *v, int qEl );
  12. bool visualizzazione_dati_vettore( int idVett, const int *v, int qEl );
  13.  
  14. int main (){
  15.     int v[g_qVett][g_qMaxVal]; // i vettori
  16.     int qEl[g_qVett]={0};      // la quantita' degli elementi nei vettori
  17.     int i;
  18.  
  19.     for( i=0; i<g_qVett; ++i )
  20.         if( !richiesta_dimensioni_vettore(i+1,qEl+i) )
  21.             return 0; // errore gia' segnalato dalla funzione
  22.  
  23.     for( i=0; i<g_qVett; ++i )
  24.         if( !richiesta_dati_vettore(i+1,v[i],qEl[i]) )
  25.             return 0; // errore gia' segnalato dalla funzione
  26.  
  27.     for( i=0; i<g_qVett; ++i )
  28.         if( !visualizzazione_dati_vettore(i+1,v[i],qEl[i]) )
  29.             return 0; // errore gia' segnalato dalla funzione
  30.  
  31.     return 0;
  32. }
  33.  
  34. bool richiesta_dimensioni_vettore( int idVett, int *qEl ) {
  35.     if( idVett<1 || NULL==qEl ) { // verifica parametri
  36.         cout<<&quot;Errore in richiesta_dimensioni_vettore():&quot;<<endl;
  37.         // verifica i parametri, segnalando gli errori se qualcosa non va
  38.         return false; // parametri non validi
  39.     }
  40.  
  41.     // chiede le dimensioni del vettori, insistendo
  42.     // finche' non viene fornita una risposta adeguata
  43.  
  44.     return true;
  45. }
  46.  
  47. bool richiesta_dati_vettore( int idVett, int *v, int qEl ) {
  48.     if( idVett<1 || NULL==v || qEl<1 ) { // verifica parametri
  49.         cout<<&quot;Errore in richiesta_dati_vettore():&quot;<<endl;
  50.         // verifica i parametri, segnalando gli errori se qualcosa non va
  51.         return false; // parametri non validi
  52.     }
  53.    
  54.     // in un ciclo che si ripete qEl volte, riceve i valori
  55.     // da inserire nell'array, ripetendo le richieste ogni
  56.     // volta che viene inserito un valore non accettabile
  57.  
  58.     return true;
  59. }
  60.  
  61. bool visualizzazione_dati_vettore( int idVett, const int *v, int qEl ) {
  62.     if( idVett<1 || NULL==v || qEl<1 ) { // verifica parametri
  63.         cout<<&quot;Errore in visualizzazione_dati_vettore():&quot;<<endl;
  64.         // verifica i parametri, segnalando gli errori se qualcosa non va
  65.         return false; // parametri non validi
  66.     }
  67.  
  68.     cout<<&quot;Valori immessi nel vettore n. &quot;<<idVett<<&quot;:&quot;<<endl;
  69.  
  70.     // in un ciclo che si ripete qEl volte, mostra il
  71.     // valore contenuto in ogni elemento dell'array v
  72.  
  73.     return true;
  74. }



Ricorrere all'allocazione dinamica dei vettori sarebbe ancora più flessibile, ma dal tipo di esercizio proposto dubito che enneZeta abbia già studiato quel che serve.

P.S.
Lo so, quel che ho proposto è più vicino al C che al C++. Pignoli.






PM Quote
Pagine: [ 1 2 3 ] Precedente | Prossimo