Torna indietro   Hardware Upgrade Forum > Software > Programmazione

AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming
AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming
AMD Ryzen 7 9850X3D è la nuova CPU gaming di riferimento grazie alla 3D V-Cache di seconda generazione e frequenze fino a 5,6 GHz. Nei test offre prestazioni superiori a 9800X3D e 7800X3D, confermando la leadership AMD nel gaming su PC.
Le soluzioni FSP per il 2026: potenza e IA al centro
Le soluzioni FSP per il 2026: potenza e IA al centro
In occasione del Tech Tour 2025 della European Hardware Association abbiamo incontrato a Taiwan FSP, azienda impegnata nella produzione di alimentatori, chassis e soluzioni di raffreddamento tanto per clienti OEM come a proprio marchio. Potenze sempre più elevate negli alimentatori per far fronte alle necessità delle elaborazioni di intelligenza artificiale.
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa
AWS è il principale operatore di servizi cloud al mondo e da tempo parla delle misure che mette in atto per garantire una maggiore sovranità alle organizzazioni europee. L'azienda ha ora lanciato AWS European Sovereign Cloud, una soluzione specificamente progettata per essere separata e distinta dal cloud "normale" e offrire maggiori tutele e garanzie di sovranità
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 21-06-2009, 18:23   #1
Gr1ph00n
Member
 
Iscritto dal: Oct 2006
Messaggi: 67
[C] aiuto su qsort

Salve a tutti, stavo cercando di capire come far funzionare la qsort su un array allocato dinamicamente, contenente un puntatore ad una struttura.
Ora andando a scrivere la funzione per comparare, mi sono trovato a dover fare il cast da void* alla mia struttura. Quello che devo fare è ordinare in ordine alfabetico l'array usando un dato campo delle strutture in esse contenuto.

La struttura è la seguente:
Codice:
typedef struct _rubrica 
{
    char cognome[30];
    char nome[30];
    char numero[30];
} rubrica;
Io ho scritto la seguente funzione per comparare:

Codice:

int confronta(const void *a, const void*b)
{
    rubrica *ia = (rubrica*)a;
    rubrica *ib = (rubrica*)b;
    char p[30]; 
    char q[30]; 
    strcpy(p, ia->cognome); 
    strcpy(q, ib->cognome);
    int c1 = p[0], c2 = q[0];
    if (c1 < c2)
    {
           return 1;
    }
    else if (c1 > c2)
    {
         return -1;
    }
    else 
    {
         return 0;
    }
}
usando così la qsort:

Codice:
qsort(array, elem, sizeof*array, confronta);
Ma non funziona
Chi mi potrebbe illuminare sul corretto utilizzo della qsort, per favore ?
Gr1ph00n è offline   Rispondi citando il messaggio o parte di esso
Old 21-06-2009, 21:47   #2
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2787
Usa la strcmp -> LINK senza stare a ricopiare le stringhe che sprechi solo memoria.
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 22-06-2009, 10:08   #3
Gr1ph00n
Member
 
Iscritto dal: Oct 2006
Messaggi: 67
Ciao, ho risolto perchè oltre a dover usare la strcmp, dovevo eseguire meglio il cast da void a rubrica

Codice:
int confronta(const void *a,  const void*b)
{
    const rubrica *r1 = *(const rubrica *const *)a;
    const rubrica *r2 = *(const rubrica *const *)b;
    return strcmp(r1->cognome, r2->cognome);
}
Gr1ph00n è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequen...
Le soluzioni FSP per il 2026: potenza e IA al centro Le soluzioni FSP per il 2026: potenza e IA al ce...
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa AWS annuncia European Sovereign Cloud, il cloud ...
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto Redmi Note 15 Pro+ 5G: autonomia monstre e displ...
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione HONOR Magic 8 Pro: ecco il primo TOP del 2026! L...
Booking.com e OpenAI annunciano SME AI A...
Xiaomi SU7 Ultra: da domani tutti i gioc...
Sharp Inspire Expo 2026: da produttore d...
Razer Synapse Web è realtà...
Concessionarie Audi chiudono improvvisam...
Resident Evil Requiem: 4K, 60 FPS e ray ...
Le batterie LFP sono piccole e pesanti? ...
Motorola inarrestabile: nuova serie moto...
Decima generazione Pokémon: grafi...
Una nuova legge consente di rottamare un...
Google mostra per sbaglio Android per PC...
Tesla non convince più: crolla il...
OpenAI lancia Prism: l'AI ora lavora fia...
Nissan mette i pannelli solari su Ariya:...
Day 3 a Barcellona: la prima di Norris c...
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: 05:18.


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