Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [C++] Dubbio Operatori di confronto

    Salve a tutti,volevo chiedere se è possibile cambiare un operatore di confronto durante l'esecuzione di un programma.
    codice:
    If(100 < 10) farlo diventare in esecuzione 
    if(100 > 10)
    Grazie a tutti
    Ultima modifica di Diego.Vivanco; 15-01-2014 a 23:38

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Ma che senso ha?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Non ha senso "cambiare un operatore di confronto", se in base ad un flag deve cambiare il "verso" del confronto riformula la condizione in maniera appropriata:
    codice:
    if((flag && a<b) || (!flag && a>b))
    {
        ... codice ...
    }
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #4
    Forse non mi sono spiegato bene, vi posto il mio problema

    codice:
    void ord_crescente(struct rec *first)
    {
        struct rec *cur;
        bool ordinato=false;
        while(!ordinato)
        {
            ordinato=true;
            cur=first;
            while(cur->next!=NULL)
            {
                if(cur->valore > cur->next->valore)
                {
                    ordinato=false;
                    scambio( &cur->valore, &cur->next->valore);
                }
                cur=cur->next;
            }
        }
        cout<<"\t-> Ordinamento completato!\n\n Premi un tasto per continuare...";
        getch();
    }
    
    void ord_decrescente(struct rec *first)
    {
        struct rec *cur;
        bool ordinato=false;
        while(!ordinato)
        {
            ordinato=true;
            cur=first;
            while(cur->next!=NULL)
            {
                if(cur->valore < cur->next->valore)
                {
                    ordinato=false;
                    scambio( &cur->valore, &cur->next->valore);
                }
                cur=cur->next;
            }
        }
        cout<<"\t-> Ordinamento completato!\n\n Premi un tasto per continuare...";
        getch();
    }
    L'algoritmo mi ordina una lista numerica, in maniera crecente o decrescente, non volevo usare due funzioni (le funzioni fanno la stessa cosa cambia solo l'operatore di confronto) per ordinare la lista.
    Volevo solo sapere se era possibile fare una cosa del genere oppure mandare un'altro parametro alla funzione che mi dica che tipo di ordinamento deve effettuare. Grazie
    Ultima modifica di Diego.Vivanco; 18-01-2014 a 21:34

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Utilizza un nuovo parametro e utilizzalo come ti ha suggerito MItaly ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.