|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2006
Città: Monza
Messaggi: 3686
|
[C]Ordinare 3 numeri
Ciao, devo fare questo programmino, ma non capisco come mai non mi risolve il caso in cui il terzo numero sia maggiore del primo o nel caso in cui il primo e il terzo siano uguali.
Codice:
# include <stdio.h>
int num1,num2,num3;
void main() {
printf("Inserisci un numero intero\n");
scanf("%d",&num1);
printf("Inserisci un numero intero\n");
scanf("%d",&num2);
printf("Inserisci un numero intero\n");
scanf("%d",&num3);
if((num1!=num2)&&(num1!=num3)&&(num2!=num3))
{
if(num1>num2)
{
if(num2>num3)
printf("I numeri ordinati sono:\n%d\n%d\n%d\n",num1,num2,num3);
else
printf("I numeri ordinati sono:\n%d\n%d\n%d\n",num1,num3,num2);
}
if(num2>num1)
{
if(num1>num3)
printf("I numeri ordinati sono:\n%d\n%d\n%d\n",num2,num1,num3);
else
printf("I numeri ordinati sono:\n%d\n%d\n%d\n",num2,num3,num1);
}
if(num3>num1)
{
printf("%d%d%d\n",num1,num2,num3);
if(num1>num2)
printf("I numeri ordinati sono:\n%d\n%d\n%d\n",num3,num2,num1);
else
printf("I numeri ordinati sono:\n%d\n%d\n%d\n",num3,num1,num2);
}
}
else
{
if((num1==num2)&&(num1!=num3))
{
if(num1>num3)
printf("I numeri ordinati sono:\n%d e %d\n%d\n",num1,num2,num3);
else
printf("I numeri ordinati sono:\n%d\n%d e %d\n",num3,num2,num1);
}
if((num1==3)&&(num1!=num2))
{
if(num1>num2)
printf("I numeri ordinati sono:\n%d e %d\n%d\n",num1,num3,num2);
else
printf("I numeri ordinati sono:\n%d\n%d e %d\n",num2,num2,num3);
}
if((num2==num3)&&(num2!=num1))
{
if(num2>num3)
printf("I numeri ordinati sono:\n%d e %d\n%d\n",num2,num3,num1);
else
printf("I numeri ordinati sono:\n%d\n%d e %d\n",num1,num2,num3);
}
if((num1==num2)&&(num1==num3)&&(num2==num3))
printf("I numeri sono uguali\n");
}
system("PAUSE");
}
__________________
" Disprezzato e reietto dagli uomini, uomo dei dolori che ben conosce il patire, come uno davanti al quale ci si copre la faccia, era disprezzato e non ne avevamo alcuna stima." ... "Maltrattato, si lasciò umiliare e non aprì la sua bocca; era come agnello condotto al macello, come pecora muta di fronte ai suoi tosatori, e non aprì la sua bocca" |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Mar 2008
Città: Civitanova Marche
Messaggi: 32
|
L'algoritmo che hai utilizzato mi sembra un pò troppo incasinato.... prova questo:
if (num1>=num2) { tmp_1 = num1; tmp_2 = num2; } else { tmp_1 = num2; tmp_2 = num1; } if (num3>= tmp_1) printf("%d %d %d", tmp_2, tmp_1, num3); else if(num3>=tmp_2) printf("%d %d %d", tmp_2, num3, tmp_1); else printf("%d %d %d", num3, tmp_2, tmp_1); |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: May 2006
Città: Monza
Messaggi: 3686
|
Quote:
P.S. Mamma mia che casino avevo tirato fuoriXD
__________________
" Disprezzato e reietto dagli uomini, uomo dei dolori che ben conosce il patire, come uno davanti al quale ci si copre la faccia, era disprezzato e non ne avevamo alcuna stima." ... "Maltrattato, si lasciò umiliare e non aprì la sua bocca; era come agnello condotto al macello, come pecora muta di fronte ai suoi tosatori, e non aprì la sua bocca" Ultima modifica di stgww : 05-10-2009 alle 20:29. |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Mar 2005
Città: Morimondo city
Messaggi: 5491
|
si però se questo esercizi sono scolastici è inutile che si posti il risultato,cioe gli algoritmi di ordinamento sono implementati in milioni di librerie,questi esercizi servono per imparare
__________________
Khelidan |
|
|
|
|
|
#5 |
|
Registered User
Iscritto dal: May 2009
Messaggi: 300
|
Infatti basta cercare "algoritmi di ordinamento". Sì che lavorano su array, però tu hai 3 elementi, fai un array di 3 elementi!
|
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
lor84, per favore la prossima volta evita di postare il risultato, ma cerca di aiutare con le parole l'utente. Vista la particolarità del numero di elementi, dubito che venga richiesta una risoluzione tramite array |
|
|
|
|
|
|
#7 | |
|
Registered User
Iscritto dal: May 2009
Messaggi: 300
|
Quote:
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:02.




















