Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1391 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  coup de pouce en c sous nux please :'(

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

coup de pouce en c sous nux please :'(

n°449621
push
/dev/random
Posté le 06-04-2004 à 01:41:31  profilanswer
 

j'implore une aide avant de devenir fous,
 
je n'arrive pas à faire un bête tri d'un tableau de pointeur de caractères, avec un tableau à 2 dimentions de char ca marche très bien mais la impossible je comprend rien :'(
 
ca devrait afficher aaa puis zzz apres l'effet du qsort :'(

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int x;
  4. static int compar(const void *a,const void *b) {
  5.    x=strcmp((char*)a, (char*)b);
  6.    return x;
  7. }
  8. main() {
  9. char * p[2];
  10. p[0]=(char *) malloc(4);
  11. p[1]=(char *) malloc(4);
  12. sprintf(p[0], "%s", "zzz" );
  13. sprintf(p[1], "%s", "aaa" );
  14. qsort(p,2,sizeof(p[O]),&compar);
  15. printf("\n%s", p[0]);
  16. printf("\n%s\n", p[1]);
  17. }


Message édité par push le 06-04-2004 à 01:48:13
mood
Publicité
Posté le 06-04-2004 à 01:41:31  profilanswer
 

n°449622
Taz
bisounours-codeur
Posté le 06-04-2004 à 01:57:10  profilanswer
 

mauvaise cat
 

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. int main()
  6. {
  7.   char p[2][4] = { "zzz", "aaa" };
  8.    
  9.   qsort(p, sizeof p / sizeof p[0], sizeof p[0], (int (*)(const void*, const void*)) strcmp);
  10.    
  11.   printf("%s %s", p[0], p[1]);
  12.   return 0;
  13. }


     

n°449639
push
/dev/random
Posté le 06-04-2004 à 03:51:09  profilanswer
 

jte remercie Taz, ton écriture est nettement plus pro que la mienne évidemment mais enfait se que je n'arrive pas à comprendre, et c'est surtout ca l'important que je comprenne, c qu'en passant par un tableau de pointeurs de char je n'arrive pas à faire le tri dans mon prog alors qu'avec un tableau comme le tien cela passe.
 
 :hello:


Message édité par push le 06-04-2004 à 03:51:38
n°449659
dizzie
Posté le 06-04-2004 à 08:48:00  profilanswer
 

Citation :

qsort(p,2,sizeof(p[O]),&compar);


 
Mes utilisations de C sont très loins derière moi, mais tu n'aurais pas oublié de lui passer des paramètres à ta fonction compar...

n°449731
Taz
bisounours-codeur
Posté le 06-04-2004 à 11:51:11  profilanswer
 

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. static int pstrcmp(const void* left, const void* right)
  5. {
  6.   return strcmp(*(const char**)left, *(const char**)right);
  7. }
  8.  
  9. int main(int argc, char *argv[])
  10. {
  11.   int i;
  12.   for(i=0; i<argc; ++i)
  13.     {
  14.       puts(argv[i]);
  15.     }
  16.   putchar('\n');
  17.   qsort(argv, argc, sizeof(char*), pstrcmp);
  18.    
  19.   for(i=0; i<argc; ++i)
  20.     {
  21.       puts(argv[i]);
  22.     }
  23.   return 0;
  24. }


 
oups désolé, j'avais pas vu
avec un tableau de pointeurs, comme qsort passe un pointeur sur l'élément, ben tu te retrouves un const void* qui n'est en fait qu'un const char ** ... et hop.
 
la prochaine fois, poste sur Programmation


Message édité par Taz le 06-04-2004 à 13:21:25
n°449761
push
/dev/random
Posté le 06-04-2004 à 12:34:45  profilanswer
 

oki pour la cat désolé, sinon merci beaucoup, je vais aller décortiquer tout ca  :pt1cable:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  coup de pouce en c sous nux please :'(

 

Sujets relatifs
Debian pour iBook > ptit coup de main :)ALSA / Debian : un ch'ti coup d'pogne... [Resolu]
petit coup de main pour nettoyage config postfixHistoire de se marrer un coup ... elle existe ici aussi !!!
Mandrake et ma Config ca vaut le coup ???Knoppix 3.2 et 3.3 probleme récurent help please :(
Coup de geule mandrake9.2mandrake 9.1 probleme !! please helppp !!!!
Coup de gueule: MDK 9.2Apple/Mac (iBook G4 MacOSX.3) newbee inside, please help!
Plus de sujets relatifs à : coup de pouce en c sous nux please :'(


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR