04.06.2008 | 22:12:22
immagine
Ing. Emanuele Scapin
L'istruzione condizionale
  • Attenzione: gli esempi sotto riportati sono stati scritti e compilati con Cygwin e non con Dev-C++.


  • Questo è il codice in C++ che restituisce il maggiore e il minore tra due numeri.

    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    
    int main(int argc, char** argv) {
    
        int a, b; 
        printf("introdurre primo valore\n");
        scanf("%d", &a);
        printf("introdurre secondo valore\n");
        scanf("%d", &b);
        
        int min, max;
        if (a > b) {
            max = a;
            min = b;
        }
        else {
            max = b;
            min = a;
        }
    
        printf("max = %d, min = %d\n", max, min);
        return 0;
    }
        

  • Questo è il codice in C++ che restituisce il maggiore tra tre numeri.
    Versione con tre if.

    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    
    int main(int argc, char** argv) {
    
        int a, b, c; 
        printf("introdurre primo valore\n");
        scanf("%d", &a);
        printf("introdurre secondo valore\n");
        scanf("%d", &b);
        printf("introdurre terzo valore\n");
        scanf("%d", &c);   
     
        int max;
        if (a > b) {
            if (a > c) {
                max = a;
            }
            else {
                max = c;
            }
        }
        else {
            if (b > c) {
                max = b;
            }
            else {
                max = c;
            }
        }
    
        printf("max = %d\n", max);
        return 0;
    }
        

  • Questo è il codice in C++ che restituisce il maggiore tra tre numeri.
    Versione ottimizzata, solo due if.

    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    
    int main(int argc, char** argv) {
    
        int a, b, c; 
        printf("introdurre primo valore\n");
        scanf("%d", &a);
        printf("introdurre secondo valore\n");
        scanf("%d", &b);
        printf("introdurre terzo valore\n");
        scanf("%d", &c);   
     
        int max;
        if (a > b) {
            max = a;
        }
        else {
            max = b;
        }
    
        if (max < c) {
            max = c;
        }
    
        printf("max = %d\n", max);
        return 0;
    }
        

  • Estensione dell'esercizio precedente, restituisce sia il maggiore che il minore tra tre numeri.
    Versione ottimizzata, solo due if.

    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    
    int main(int argc, char** argv) {
    
        int a, b, c; 
        printf("introdurre primo valore\n");
        scanf("%d", &a);
        printf("introdurre secondo valore\n");
        scanf("%d", &b);
        printf("introdurre terzo valore\n");
        scanf("%d", &c);   
     
        int max, min;
        if (a > b) {
            max = a;
            min = b;
        }
        else {
            max = b;
            min = a;
        }
    
        if (max < c) {
            max = c;
        }
    
        if (min > c) {
            min = c;
        }
    
        printf("max = %d\n", max);
        return 0;
    }
        

  • Ordinamento crescente di tre numeri.
    La variabile a conterrá il valore piú piccolo, la variabile b conterrá il valore medio, la variabile c conterrá il valore piú grande.
    La variabile app serve a scambiare i valori delle due variabili quando non sono nell'ordine desiderato.

    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    
    int main(int argc, char** argv) {
    
        int a, b, c; 
        printf("introdurre primo valore\n");
        scanf("%d", &a);
        printf("introdurre secondo valore\n");
        scanf("%d", &b);
        printf("introdurre terzo valore\n");
        scanf("%d", &c);   
     
        if (a > b) {
            int app = a;
            a = b;
            b = app;
        }
    
        if (a > c) {
            int app = a;
            a = c;
            c = app;
        }
    
        if (b > c) {
            int app = b;
            b = c;
            c = app;
        }
    
        printf("a = %d, b = %d, c = %d\n", a, b, c);
        return 0;
    }
        


© Emanuele Scapin 2008-2012

 

Valid HTML 4.01! Valid CSS!