|
|||||||
|
|
|
![]() |
|
|
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: Nov 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 19:31. |
|
|
|
|
|
|
#15 | |
|
Senior Member
Iscritto dal: Jan 2006
Città: Lassù
Messaggi: 2842
|
Quote:
Non siamo mica in un ufficio e non devo consegnare a nessuno, meno che a te, software efficente e pulito. Ho scritto velocemente quel codice giusto per dare un'idea sul da fare. Poi non ho letto più questa discussione fino alla tua insolente risposta di ieri.
__________________
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:
Se è così chiedo venia, non volevo.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: 15:31.











Non siamo mica in un ufficio e non devo consegnare a nessuno, meno che a te, software efficente e pulito. Ho scritto velocemente quel codice giusto per dare un'idea sul da fare. Poi non ho letto più questa discussione fino alla tua insolente risposta di ieri.
Se è così chiedo venia, non volevo.








