begin process at 2012 05 30 11:02:01
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Divers

 > 

qsort fonctionnement?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

qsort fonctionnement?

mardi 24 octobre 2006 à 20:33:28 | qsort fonctionnement?

deck_bsd

Membre Club
Bonjour a tous,

Voila, je voudrai trier ce tableau :
char nt[][100] = {"un","trois","quatre","cinq","a","bb","b","axxxxxxxxxxxxxxxxxxx"};

Avec la fonction standart qsort :s. Voici donc comment je l'utilise :

qsort(nt,8,sizeof(1),strcmp);

Ne vous souciez pas du sizeof(1), en faite quand je fait ça, ça trie sans prendre en compte la taille des donnée. Le soucis est que mon tableau reste comme il est. Je pense qu'il faut faire un pointeur sur la fonction strcmp, mais bon je voi pas trop. J'ai commencé ceci

typedef int(ptStrcmp)(const void * pt1, const void * pt2);

suis-je sur la bonne voi ?

Merci d'avance.

++
deck_bsd

[ [ Lien ]]
mardi 24 octobre 2006 à 21:16:41 | Re : qsort fonctionnement?

laurent1024

Membre Club
Faudrait pas faire un truc du genre
int compare(const void * pt1, const void * pt2)
{
    return strcmp(*(char *)pt1, *(char*)pt2);
} ?
mardi 24 octobre 2006 à 21:26:22 | Re : qsort fonctionnement?

vecchio56

Administrateur CodeS-SourceS
Réponse acceptée !
// Fonction de laurent, sans les * en trop
int compare(const void * pt1, const void * pt2)
{
  return strcmp((char*)pt1, (char*)pt2);
}

int main()
{
  char nt[][100] = {"un","trois","quatre","cinq","a","bb","b","axxxxxxxxxxxxxxxxxxx"};
  qsort(nt,8, 100,compare);
}

Evidemment, avez sizeof(1) à la place de 100, ça marche moins bien ;)

_____________________________________
Un éditeur de ressources gratuit pour Windows

mardi 24 octobre 2006 à 22:09:01 | Re : qsort fonctionnement?

rrk275

Ne vous souciez pas du sizeof(1), en faite quand je fait ça, ça trie sans prendre en compte la taille des donnée. ?
 -> le sizeof() c'est pas pour toi c'est pour lui..


rrk275
mercredi 25 octobre 2006 à 17:12:24 | Re : qsort fonctionnement?

deck_bsd

Membre Club
en faite le sizeof(1) fonctionnai , mais pas pour un tab 2 dim. Enfin bref, cela fonctionne. Merci

++
deck_bsd

[ [ Lien ]]
mercredi 25 octobre 2006 à 19:49:01 | Re : qsort fonctionnement?

vecchio56

Administrateur CodeS-SourceS
sizeof(1) marchera pour un int[], mais pas pour un char[].
De manière générale, il faut faire
qsort(nt,sizeof nt / sizeof nt[0], sizeof nt[0],compare);
quel que soit le type de nt

_____________________________________
Un éditeur de ressources gratuit pour Windows



Cette discussion est classée dans : fonction, tableau, nt, fonctionnement, qsort


Répondre à ce message

Sujets en rapport avec ce message

Maux de tête causé par une fonction de tri [ par MissSixty ] Désespoir... je me chauffe encore les neurones avec un problème de tri de tableau 2D qui m'apparaît pourtant assez basic. J'ai bien tenté de m'inspire Question sur le fonctionnement de la fonction strcat [ par n_o_u_n_o_u ] Bonjour,je ne comprends pas bien le fonctionnement de la fonction strcat.Dans l'exemple ci-dessous, je n'obtiens qu'une seule sortie (le premier cout) Je cherche une fonction equivalente à foreach() ? [ par pyr0123 ] Bonjour,En PHP il existe une fonction foreach($tableau) tres pratique.exemple :$arr = array(1, 2, 3, 4);foreach ($arr as &$value){&n tableau d'entier. [ par gdpasmini ] Hello !j'ai un petit soucis avec une fonction qui renvoi un tableau en parametre... voila les details :Dans mes fonctions : int * boutonDecodFlux(void tableau de struct et fonction en C [ par sim51 ] Bonjour à tous. J'ai un petit problème de syntax, après plusieurs recherche sur le net, je n'ai pu ni affirmer ou ni infirmer la validation de mon cod fonction qui retourne un vecteur en C/C++ [ par rocketcariboo ] Je voudrais savoir comment on fait une fonction qui prend un tableau et qui retourne un autre tableau. Quelle est la façon la plus simple. Je sais qu' Tableau membre [ par ekinox17 ] Bon voila j'ai cree un tableau d'octets du type : BYTE buffer[25]; // a l'interieur de ma classe et en public autant dire que toutes les fonctions peu Problème pour passer un tableau dynamique à une fonction [ par muguss ] Je n'arrive pas à passer parfaitement mon tableau dynamique de type HANDLE à ma fonction afin que cette dernière ajoute un HANDLE au tableau, donc l'a Fonction et Tableau [ par toff86 ] Salut !!J'suis débutant en C. Mon probleme est le suivant:Je sais comment fonctionne le passage de parametres d'une variable avec les foncions. Mais j Allocation dynamique dans une fonction [ par Veovis ] Salut,Toujours dans mon projet de TP, j'ai un petit soucis avec l'allocation dynamique dans une fonction. Ce que je voudrais faire c'est quand le tabl


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,421 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales