Visualizzazione dei risultati da 1 a 10 su 10

Discussione: [C] Minore e maggiore

  1. #1
    Utente bannato
    Registrato dal
    Feb 2004
    Messaggi
    2,803

    [C] minore e maggiore

    ho 3 variabili inserite da uno scanf..ora volevo sapere se c'è un modo + veloce di visualizzare il minore e il maggiore di questi tre:

    codice:
    #include<stdio.h>
    
    int main ()
            {
    int primo, secondo, terzo;
    
    printf("  Inserisci tre numeri: ");
    scanf("%d %d %d", &primo, &secondo, &terzo);
    if (primo > secondo && primo > terzo)
    printf("\n\nIl numero maggiore è %d", primo);
    else if (secondo > primo && secondo > terzo)
    printf("Il numero maggiore è %d", secondo);
    else if (terzo > primo && terzo > secondo)
    printf ("Il numero maggiore è %d", terzo);
    return 0;
    }

    facendo così visualizzo il maggiore..dovrei fare altrettanto x il minore o c'è un metodo migliore?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Ma a te serve conoscere il valore minore/maggiore tra quelli inseriti o interessa sapere se era il primo o il secondo o il terzo?

  3. #3
    Utente bannato
    Registrato dal
    Feb 2004
    Messaggi
    2,803
    mi interessa sapere il maggiore e il minore....è quello k ho detto

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Ok ...

    Un esempio di codice per i 3 valori potrebbe essere

    codice:
    #define MAX(a,b) ((a>b) ? (a) : (b))
    #define MIN(a,b) ((a<b) ? (a) : (b))
    
    int main(int argc, char *argv[])
    {
    	int primo, secondo, terzo;
    
    	printf("  Inserisci tre numeri: ");
    	scanf("%d %d %d", &primo, &secondo, &terzo);
    
    	printf("Il maggiore e' %d\n", MAX(primo, MAX(secondo, terzo)));
    
    	printf("Il minore e'   %d\n", MIN(primo, MIN(secondo, terzo)));
    
    	return 0;
    }
    Nel caso avessi molti piu' elementi, sarebbe necessario inserirli in un array e lavorare su quello per trovare il minore e il maggiore ...

  5. #5
    Utente bannato
    Registrato dal
    Feb 2004
    Messaggi
    2,803
    ke è #define??xke ci sono due termini e xke si chiamano a e b??

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Se stai iniziando a studiare il C, devi partire dalle direttive del preprocessore ...

    #define

    e' una direttiva del preprocessore (come la #include).

    Serve a definire del "testo" che verra' "sostituito" prima della compilazione ad altro testo nel sorgente ...

    Nel caso indicato, MIN e MAX sono definite come "macro" e "a" e "b" sono i parametri della macro ...

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    1) Perchè #define? Il define serve a definire un'espressione o, come in questo caso, una funzione.

    2) Perchè ci sono 2 termini? Semplice: la relazione di maggioranza o di minoranza è definita su due elementi. E' una relazione binaria. Un numero può essere messo in relazione solo con un altro numero, non con una coppia, terna, ecc...

    3) Perchè si chiamano a e b? Forse perchè oregon ama quei nomi di variabile... se ti fa piacere puoi chiamarli "pippo" e "pluto"...


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  8. #8
    Utente bannato
    Registrato dal
    Feb 2004
    Messaggi
    2,803
    Originariamente inviato da LeleFT
    1) Perchè #define? Il define serve a definire un'espressione o, come in questo caso, una funzione.

    2) Perchè ci sono 2 termini? Semplice: la relazione di maggioranza o di minoranza è definita su due elementi. E' una relazione binaria. Un numero può essere messo in relazione solo con un altro numero, non con una coppia, terna, ecc...

    3) Perchè si chiamano a e b? Forse perchè oregon ama quei nomi di variabile... se ti fa piacere puoi chiamarli "pippo" e "pluto"...


    Ciao.
    si ma i miei termini sono 3!

  9. #9
    Originariamente inviato da ant_alt
    si ma i miei termini sono 3!
    E allora la applichi più volte come ti ha mostrato oregon :rollo: ....
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Originariamente inviato da LeleFT
    1) Perchè #define? Il define serve a definire un'espressione o, come in questo caso, una funzione.
    Scusa per la precisazione, ma con la #define non si definisce una funzione. La #define esegue una semplice definizione di macro il cui testo viene sostituito nel sorgente prima della compilazione.
    C'e' una bella differenza con una funzione ...


    Originariamente inviato da ant_alt
    si ma i miei termini sono 3!
    I tuoi termini sono 3 e potrebbero essere 1000, ma per determinare un massimo ne confronti sempre 2 ...

    Prendi il primo e il secondo e il massimo tra questi lo confronti con il terzo, il massimo tra questi con il quarto ... e cosi' via ...
    Il confronto avviene *sempre* tra due valori.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.