Salve a tutti,volevo chiedere se è possibile cambiare un operatore di confronto durante l'esecuzione di un programma.
Grazie a tutticodice:If(100 < 10) farlo diventare in esecuzione if(100 > 10)
Salve a tutti,volevo chiedere se è possibile cambiare un operatore di confronto durante l'esecuzione di un programma.
Grazie a tutticodice:If(100 < 10) farlo diventare in esecuzione if(100 > 10)
Ultima modifica di Diego.Vivanco; 15-01-2014 a 23:38
Ma che senso ha?
No MP tecnici (non rispondo nemmeno!), usa il forum.
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.
Forse non mi sono spiegato bene, vi posto il mio problema
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.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(); }
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
Utilizza un nuovo parametro e utilizzalo come ti ha suggerito MItaly ...
No MP tecnici (non rispondo nemmeno!), usa il forum.