Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 15-07-2010, 14:07   #1
Vincenzoflaminio
Member
 
Iscritto dal: Jul 2006
Messaggi: 96
[C] Algoritmo ordinamento

Salve , dovrei ordinare una struct ma non so come passarla nella function che ordina i parmetri.
Il mio problema sta nell 'ordinare in ordine decrescente di vittorie le squadre, e stamparne i nomi .
Avevo scritto questo codice che mi permette di ordinare le vottorie della squadra essendo solo un array ad entrare come argomento e copiando i dati strutturati in un array semplice:
Codice:
struct _squadra
{
   int numero /*nome della squadra identificata da un numero */;
   int numvittoriesquadra;
       };
       typedef struct _squadra Squadra;

 void order_ins (int array[], int n)
{
     int i,j;
     int el_da_ins;
     j=j-i;
     for (i=1;i<n;i++)
     {
         el_da_ins=array[i];
         j= i-1;
     while (j>=0 && el_da_ins < array[j])
     {
           array[j+1] = array[j];
           j--;
           }
           array[j+1] = el_da_ins;
           }

main 
{
/*copio le vittorie in un array /*
for(i = 0; i <8; i++)
 { array_squadra[i].numvittoriesquadra = numvittoriesquadra[i];}
/* chiamata all'array
order_ins(numvittoriesquadra,lung_numvittorie);
Il problema è che quando vado a fare il printf ho ordinato le vittorie delle squadre ma non i nomi..
Vincenzoflaminio è offline   Rispondi citando il messaggio o parte di esso
Old 15-07-2010, 18:05   #2
Rsk
Senior Member
 
L'Avatar di Rsk
 
Iscritto dal: Dec 2006
Messaggi: 314
Quote:
Originariamente inviato da Vincenzoflaminio Guarda i messaggi
Salve , dovrei ordinare una struct ma non so come passarla nella function che ordina i parmetri.
Il mio problema sta nell 'ordinare in ordine decrescente di vittorie le squadre, e stamparne i nomi .
Avevo scritto questo codice che mi permette di ordinare le vottorie della squadra essendo solo un array ad entrare come argomento e copiando i dati strutturati in un array semplice:
Codice:
struct _squadra
{
   int numero /*nome della squadra identificata da un numero */;
   int numvittoriesquadra;
       };
       typedef struct _squadra Squadra;

 void order_ins (int array[], int n)
{
     int i,j;
     int el_da_ins;
     j=j-i;
     for (i=1;i<n;i++)
     {
         el_da_ins=array[i];
         j= i-1;
     while (j>=0 && el_da_ins < array[j])
     {
           array[j+1] = array[j];
           j--;
           }
           array[j+1] = el_da_ins;
           }

main 
{
/*copio le vittorie in un array /*
for(i = 0; i <8; i++)
 { array_squadra[i].numvittoriesquadra = numvittoriesquadra[i];}
/* chiamata all'array
order_ins(numvittoriesquadra,lung_numvittorie);
Il problema è che quando vado a fare il printf ho ordinato le vittorie delle squadre ma non i nomi..
Passi un puntatore a struttura
Codice:
void sort( Squadra * s);
per accedere ai campi devi fare
Codice:
int num = s->numero
__________________
Athlon64 x2 5600 - AsRock ALiveNF5eSata2+ - kingston 2GB ddr2 800 - GeForce 8800gts 320MB

Ultima modifica di Rsk : 15-07-2010 alle 18:10.
Rsk è offline   Rispondi citando il messaggio o parte di esso
Old 15-07-2010, 19:40   #3
Vincenzoflaminio
Member
 
Iscritto dal: Jul 2006
Messaggi: 96
Grazie ! modificato il codice ora :
Codice:
void order_ins (Squadra *s, int n)
{
     int i,j;
     int el_da_ins;
     j=j-i;
     for (i=1;i<n;i++)
     {
         el_da_ins=(s+i)->numvittoriesquadra;
         j= i-1;
     while (j>=0 && el_da_ins < (s+j)->numvittoriesquadra)
     {
           (s+j+1)->numvittoriesquadra = (s+j)->numvittoriesquadra;
           (s+j+1)->numero = (s+j)->numero;
           j--;
           }
           (s+j+1)->numvittoriesquadra = el_da_ins;
           }
}
nessun problema al compilatore ma alla schermata a video ho i seguenti risultati :
Array non ordinato
squadra: n =8 vittorie = 0
squadra: n =9 vittorie = 1
squadra: n =10 vittorie = 0
squadra: n =11 vittorie = 2
squadra: n =12 vittorie = 0
squadra: n =13 vittorie = 1
squadra: n =14 vittorie = 0
squadra: n =15 vittorie = 3
Squadre In ordine Crescente di vittoria
squadra: n =8 vittorie = 0
squadra: n =9 vittorie = 0
squadra: n =9 vittorie = 0
squadra: n =9 vittorie = 0
squadra: n =9 vittorie = 1
squadra: n =11 vittorie = 1
squadra: n =11 vittorie = 2
squadra: n =15 vittorie = 3

pare che mentre le vittorie si ordino c'è qualche problema con array_squadra.numero
Vincenzoflaminio è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
World of Warcraft: Forever è il Classic+...
La Serie A con DAZN e Amazon Prime con l...
Giochi Ubisoft su Steam senza Ubisoft Co...
Miami Beach ha autorizzato la maxi opera...
Apple regala un altro anno di funzioni s...
Alla fine è successo davvero: Vol...
Il meglio di Amazon del weekend in uno s...
Speciale TV in offerta su Amazon: Hisens...
Non c'è pace per Trezor: 347.000 e-mail ...
È un portatile Dell e li vale tut...
Apple iPhone 17 Pro Max 256GB a 1.195€ (...
GPT-6 Astra è davvero AGI o non s...
LG OLED G6S 48'' a 845€ e G6 55'' a 1368...
Mantax Otax: il malware Android che crip...
Musk incassa un altro maxi contratto IA:...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 07:07.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v