|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Dec 2004
Messaggi: 88
|
[c++]ordine numeri
ciao.
ho una rikiesta abbastanza elementare da farvi...sorry se ho int a = 10; int b = 100; int c = 1000; come faccio a stampare le tre variabili automaticamente decrescente? avendo solo 3 numeri farei tranquillamente un paio di if es Codice:
if(A>'B' && A>'C') { etc etc ma siccome potrei ritrovarmi centinaia di variabili nn so come fare. thx
__________________
"Voi che li avete girati nei giradischi e gridati voi che li avete aspettati ascoltati bruciati e poi scordati..chi erano mai questi Beatles MA CHI ERANO MAI QUESTI BEATLES" |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Dec 2005
Messaggi: 44
|
devi usare matrici
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Apr 2005
Città: Resana - TV
Messaggi: 960
|
sbatti tutto in un vettore, lo ordini nel modo che preferisci (se non conosci algoritmi di ordinamento dai un'occhiata qui e/o googleggia un po') e lo stampi!
...sempre che nella sua semplicità non abbia frainteso la tua richiesta! 'iao |
![]() |
![]() |
![]() |
#4 |
Member
Iscritto dal: Dec 2004
Messaggi: 88
|
ciao..grazie per le risposte. ho da kiedervi un kiarimento.
potreste mica farmi un esempio di come si applica qsort() (appunto un algoritmo per ordinare) ad un vettore?? grazie tante ancora ![]()
__________________
"Voi che li avete girati nei giradischi e gridati voi che li avete aspettati ascoltati bruciati e poi scordati..chi erano mai questi Beatles MA CHI ERANO MAI QUESTI BEATLES" |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jan 2006
Città: Lassù
Messaggi: 2842
|
eccolo qua un po di codice:
#include <stdio.h> #include <stdlib.h> int cmp (int a, int b) { return a-b; } int main () { int numbers[]={4.8.6}; int n; qsort (values, sizeof(numbers), sizeof(int), cmp); } l'ho scritto velocemnte senza testarlo. Ciao ciao ![]() ![]()
__________________
Fa' che non turbi l'anima tua il triste spettacolo dell'ingiustizia umana; anch' essa, nell'economia divina, ha il suo valore. È sopra di essa che vedrai sorgere immancabilmente la giustizia di Dio. HO CONCLUSO EGREGIAMENTE TRATTATIVE CON OLTRE 90 UTENTI! ATTENZIONE: consiglio di evitare assolutamente trattative con l'utente Herant |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Oct 2005
Città: Genova
Messaggi: 937
|
Un'altra soluzione potrebbe essere usare STL (visto che usi C++)
Codice:
#include <list> #include <iostream> int main(int argc, char** argv) { std::list<int> m_list; m_list.push_back(5); m_list.push_back(1); m_list.push_back(9); m_list.push_back(25); m_list.push_back(50); std::list<int>::iterator it; m_list.sort(); for (it = m_list.begin(); it != m_list.end(); ++it) std::cout << "Item = " << *it << std::endl; return 0; }
__________________
MacMini Late 2009/MacMini 2018 |
![]() |
![]() |
![]() |
#7 |
Member
Iscritto dal: Apr 2004
Messaggi: 130
|
Codice:
#include <stdio.h> #include <stdlib.h> int cmp(const void *a, const void *b) { return *(int *)a - *(int *)b; } void stampa(int *array, int size) { int i; for (i = 0; i < size; ++i) printf("%d ", array[i]); putchar('\n'); } int main() { int numbers[] = {4,8,6,1}, size = sizeof numbers/sizeof numbers[0]; stampa(numbers, size); qsort(numbers, size, sizeof(int), cmp); stampa(numbers, size); return 0; } |
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Jan 2006
Città: Lassù
Messaggi: 2842
|
Quote:
__________________
Fa' che non turbi l'anima tua il triste spettacolo dell'ingiustizia umana; anch' essa, nell'economia divina, ha il suo valore. È sopra di essa che vedrai sorgere immancabilmente la giustizia di Dio. HO CONCLUSO EGREGIAMENTE TRATTATIVE CON OLTRE 90 UTENTI! ATTENZIONE: consiglio di evitare assolutamente trattative con l'utente Herant |
|
![]() |
![]() |
![]() |
#9 | |
Member
Iscritto dal: Apr 2004
Messaggi: 130
|
Quote:
Ma ti ci voleva davvero tanto ad arrivarci da solo? ![]() |
|
![]() |
![]() |
![]() |
#10 | |
Senior Member
Iscritto dal: Jan 2006
Città: Lassù
Messaggi: 2842
|
Quote:
![]()
__________________
Fa' che non turbi l'anima tua il triste spettacolo dell'ingiustizia umana; anch' essa, nell'economia divina, ha il suo valore. È sopra di essa che vedrai sorgere immancabilmente la giustizia di Dio. HO CONCLUSO EGREGIAMENTE TRATTATIVE CON OLTRE 90 UTENTI! ATTENZIONE: consiglio di evitare assolutamente trattative con l'utente Herant |
|
![]() |
![]() |
![]() |
#11 | |
Member
Iscritto dal: Apr 2004
Messaggi: 130
|
Quote:
![]() Comunque non capisco cosa c'entri tu: se scyho ha problemi ce lo dira'... |
|
![]() |
![]() |
![]() |
#12 | |
Senior Member
Iscritto dal: Jan 2006
Città: Lassù
Messaggi: 2842
|
Quote:
![]()
__________________
Fa' che non turbi l'anima tua il triste spettacolo dell'ingiustizia umana; anch' essa, nell'economia divina, ha il suo valore. È sopra di essa che vedrai sorgere immancabilmente la giustizia di Dio. HO CONCLUSO EGREGIAMENTE TRATTATIVE CON OLTRE 90 UTENTI! ATTENZIONE: consiglio di evitare assolutamente trattative con l'utente Herant |
|
![]() |
![]() |
![]() |
#13 |
Member
Iscritto dal: Apr 2004
Messaggi: 130
|
Il fatto che tu fossi a conoscenza che era probabilmente errato e' un'aggravante, non una giustificazione, ne' mi e' chiaro perche' pensi che del codice scritto in fretta e mai testato possa servire a qualcuno.
Comunque, io non ti giudico perche' non ti conosco. Ma il codice che posti lo valuto eccome, e mi permetto di aggiungere che se il tuo livello e' questo, e non hai tempo/voglia/umilta' di verificare quello che scrivi, la cosa migliore che puoi fare e' di non inviarlo. Pace e bene. ![]() |
![]() |
![]() |
![]() |
#14 | |
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16211
|
Quote:
Se invece sono int, a è grande e positivo e b è grande e negativo, allora a-b potrebbe essere negativo per via dell'overflow. La forma corretta della funzione di confronto fra int quella "artigianale": Codice:
int cmp(int a, int b) { if (a>b) return 1; else if (a<b) return -1; else return 0; } Quindi, in questo caso, cmp diventa: Codice:
int cmp(const void *a, const void *b) { int n=*((int*)a), k=*((int*)b); if (n>k) return 1; else if (n<k) return -1; else return 0; }
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" ![]() Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu Ultima modifica di Ziosilvio : 15-01-2006 alle 18:31. |
|
![]() |
![]() |
![]() |
#15 | |
Senior Member
Iscritto dal: Jan 2006
Città: Lassù
Messaggi: 2842
|
Quote:
![]()
__________________
Fa' che non turbi l'anima tua il triste spettacolo dell'ingiustizia umana; anch' essa, nell'economia divina, ha il suo valore. È sopra di essa che vedrai sorgere immancabilmente la giustizia di Dio. HO CONCLUSO EGREGIAMENTE TRATTATIVE CON OLTRE 90 UTENTI! ATTENZIONE: consiglio di evitare assolutamente trattative con l'utente Herant |
|
![]() |
![]() |
![]() |
#16 | |||
Member
Iscritto dal: Apr 2004
Messaggi: 130
|
Quote:
Quote:
Senti riguardati il thread e fai chiarezza nella tua mente. Quote:
|
|||
![]() |
![]() |
![]() |
#17 | ||
Senior Member
Iscritto dal: Jan 2006
Città: Lassù
Messaggi: 2842
|
Quote:
![]() Quote:
![]()
__________________
Fa' che non turbi l'anima tua il triste spettacolo dell'ingiustizia umana; anch' essa, nell'economia divina, ha il suo valore. È sopra di essa che vedrai sorgere immancabilmente la giustizia di Dio. HO CONCLUSO EGREGIAMENTE TRATTATIVE CON OLTRE 90 UTENTI! ATTENZIONE: consiglio di evitare assolutamente trattative con l'utente Herant |
||
![]() |
![]() |
![]() |
#18 | |||
Member
Iscritto dal: Apr 2004
Messaggi: 130
|
Quote:
![]() Quote:
![]() Quote:
Buona notte e sogni d'oro. ![]() |
|||
![]() |
![]() |
![]() |
#19 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Per favore...non litigate... Chiaritevi in privato...
Grazie ![]() |
![]() |
![]() |
![]() |
#20 | |
Senior Member
Iscritto dal: Jan 2006
Città: Lassù
Messaggi: 2842
|
Quote:
![]()
__________________
Fa' che non turbi l'anima tua il triste spettacolo dell'ingiustizia umana; anch' essa, nell'economia divina, ha il suo valore. È sopra di essa che vedrai sorgere immancabilmente la giustizia di Dio. HO CONCLUSO EGREGIAMENTE TRATTATIVE CON OLTRE 90 UTENTI! ATTENZIONE: consiglio di evitare assolutamente trattative con l'utente Herant |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:26.