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++ - Variabili booleane e array...
Forum - C/C++ - Variabili booleane e array... - Pagina 2

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 20:58
Domenica, 27/12/2009
allora secondo me queste tre variabili p,q,r tu le devi dichiarare come bool nel main e non int e in ogni tipo di ritorno della funzione controlla invece del numero ritorni quando p quando q e quando r...e nel main con una serie di if stampi a video il risultato....

PM Quote
Avatar
Anonymous (Member)
Guru


Messaggi: 1059
Iscritto: 30/07/2006

Segnala al moderatore
Postato alle 21:04
Domenica, 27/12/2009
ma io nn ho capito a che possano servire queste p q ed r....

puoi postare il testo completo cosi forse capisco meglio.. :)

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 9:36
Lunedì, 28/12/2009
puffetta secondo me il programma tu lo volevi cosi:

Codice sorgente - presumibilmente C++

  1. #include<stdio.h>
  2. #include<stdlib.h>
  3.  
  4. const int size=50;
  5. typedef int vettore[size];
  6.  
  7. int leggidimensione();
  8. void leggivettore(vettore, int);
  9. int controllovettore(vettore, vettore, int, bool &, bool &, bool &);
  10. void stampa(bool, bool, bool);
  11.  
  12.  
  13. main()
  14. {
  15.       int n;
  16.      
  17.       bool p = false, q = false, r = false;
  18.      
  19.       vettore x, y;
  20.        
  21.       n=leggidimensione();
  22.        
  23.       printf("\n\n Il vettore x ha le seguenti componenti:");
  24.        
  25.       leggivettore(x, n);
  26.        
  27.       printf("\n\n Il vettore y ha le seguenti componenti");
  28.        
  29.       leggivettore(y, n);
  30.        
  31.       controllovettore(x, y, n, p, q, r);
  32.        
  33.       stampa(p, q, r);
  34.        
  35.       system("PAUSE");
  36.  
  37.       return 0;
  38. }
  39.  
  40.  
  41. int leggidimensione()
  42. {
  43.     int a;
  44.      
  45.     do
  46.       {
  47.           printf("\n\n Quante componenti hanno i vettori x e y?   n=");
  48.           scanf("%d", &a);
  49.       }
  50.     while(a>size);
  51.      
  52.     return a;
  53. }
  54.  
  55.  
  56. void leggivettore(vettore A, int n)
  57. {
  58.      for(int i=1; i<=n; i++)
  59.              {
  60.                   printf("\n Inserire la componente %d del vettore:", i);
  61.                   scanf("%d", &A[i]);
  62.              }
  63.      return;
  64. }
  65.  
  66. int controllovettore(vettore x, vettore y, int n, bool & p, bool & q, bool & r)
  67. {
  68.     if (x[1] < y[1] ){
  69.         for (int i = 1; i <=n; i++){
  70.             if(x[i]>=y[i])
  71.                 return 0;
  72.         }
  73.     p = true;
  74.     }
  75.     else
  76.     if (x[1] > y[1]){
  77.         for (int i = 1; i <=n; i++){
  78.             if(x[i]<=y[i])
  79.                 return 0;
  80.         }
  81.         q = true;
  82.     }
  83.     if (x[1] == y[1] ){
  84.         for (int i = 1; i <=n; i++){
  85.             if(x[i]!=y[i])
  86.                 return 0;
  87.         }
  88.     r = true;
  89.     }
  90.     else
  91.         return 0;
  92. }
  93.  
  94.  
  95. void stampa(bool p, bool q, bool r)
  96. {
  97.      if (q)
  98.           printf("\n\n x maggiore y\n");
  99.       else
  100.       if (p)
  101.           printf("\n\n x minore y\n");
  102.       else
  103.       if (r)
  104.         printf("\n\n x e y sono uguali\n");
  105.       else
  106.          printf("\n\n x e y ne maggiori ne minori ne uguali\n\n");
  107.    
  108. }


ho utilizzato le tre variabili p, q, r per salvare il risultato del confronto...

PM Quote
Avatar
Puffetta (Normal User)
Rookie


Messaggi: 21
Iscritto: 29/11/2009

Segnala al moderatore
Postato alle 10:56
Lunedì, 28/12/2009
grazie:k: era esattamente quello che mi era stato chiesto. salvare il risultato del confronto nelle variabili p, q, r... ora però vorrei esporre solo una mia curiosità: volendo potrei fare la funzione controllovettore come una void invece che intera? o questo potrebbe alterare il risultato?

PM Quote
Avatar
Anonymous (Member)
Guru


Messaggi: 1059
Iscritto: 30/07/2006

Segnala al moderatore
Postato alle 11:43
Lunedì, 28/12/2009
si.. a questo punto non c'è più bisogno che controllovettore sia intera.... può essere benissimo una void perché tanto i risultati li salva dentro alle variabili e quindi non c'è bisogno che ritorna niente....

cmq quello di usare una procedura void può essere l'unico motivo per cui si devono usare le variabili p q ed r perché sennò non ha alcun senso...

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo