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

  FORUM HardWare.fr
  Programmation
  C

  tableaux

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

tableaux

n°932710
lol733
Posté le 27-12-2004 à 20:51:19  profilanswer
 

:hello:  
voila g une petite questions!!!!
je vudrai savoir si qqn pouvais m'aider en me disant comment faire pour regarder et afficher un monbre qu'il y a en double ds un tableaux!
merci d'avance!!!

mood
Publicité
Posté le 27-12-2004 à 20:51:19  profilanswer
 

n°932711
Taz
bisounours-codeur
Posté le 27-12-2004 à 20:53:25  profilanswer
 

heink ? tu cherches quoi ? à faire une recherche de doublon ?

n°932726
Emmanuel D​elahaye
C is a sharp tool
Posté le 27-12-2004 à 21:16:45  profilanswer
 

lol733 a écrit :

:hello:  
voila g une petite questions!!!!
je vudrai savoir si qqn pouvais m'aider en me disant comment faire pour regarder et afficher un monbre qu'il y a en double ds un tableaux!
merci d'avance!!!


C'est plus une question d'algorithme (basique) que de C...


FAIRE parcourir le tableau.
 SI la valeur lue est celle que l'on cherche  
   on a un doublon...
 FIN SI
TANT QUE ce n'est pas la fin du tableau


Message édité par Emmanuel Delahaye le 27-12-2004 à 21:16:59

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°932732
matafan
Posté le 27-12-2004 à 21:54:25  profilanswer
 

Je pense qu'il ne connais pas a l'avance le nombre qu'il cherche, donc c'est un peu plus complique. Tu peux mettre les nombres dans un hash au fur et a mesure que tu les rencontre. Quand tu rencontre un nombre qui est deja dans le hash, c'est un doublon. Tu peux aussi faire ca sans hash mais ca sera probablement plus lent. Ou alors tu peux faire un qsort() pour trier ton tableau, puis le parcourir en comparant chaque nombre au nombre de la case precedente... Suivant les cas ca pourrait etre plus rapide ou plus lent.

n°932736
lol733
Posté le 27-12-2004 à 22:01:01  profilanswer
 

ben je voudrai k'il me dise si un nombre se retrouve 2 fois!!!
merci pr les réponses!!!

n°932738
Taz
bisounours-codeur
Posté le 27-12-2004 à 22:09:32  profilanswer
 

deux méthodes simples :
- tu tries. Tu parcours ton tableau trié : si tab[i] == tab[i + 1], pan, y a un doublon
- pour chaque nombre x de ton tableau, tu parcours ton tableau, et si tu trouves plus d'1 occurence, y a un doublon

n°932739
lol733
Posté le 27-12-2004 à 22:10:47  profilanswer
 

ok je voi ce ke tu ve dir mais comment trier le tableau!

n°932741
Taz
bisounours-codeur
Posté le 27-12-2004 à 22:11:25  profilanswer
 

avec qsort

n°932745
lol733
Posté le 27-12-2004 à 22:13:39  profilanswer
 

je comprend pas comment l'utiliser!!! Est ce que tu pourrai me donner un exemple?

n°932749
Taz
bisounours-codeur
Posté le 27-12-2004 à 22:24:58  profilanswer
 

Code :
  1. #include <string.h>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. static int lexsort(const void *a, const void *b)
  5. {
  6. return strcmp(
  7.  *(const char**)a,
  8.  *(const char**)b
  9.  );
  10. }
  11. int main(int argc, char **argv)
  12. {
  13. int i;
  14. const char **args;
  15. args = malloc(argc * sizeof *args);
  16. if(!args) return 1;
  17. memcpy(args, argv, argc * sizeof *args);
  18. qsort(args, argc, sizeof *args, lexsort);
  19. for(i=0; i<argc; ++i)
  20. {
  21.  printf("%s ", args[i]);
  22. }
  23. putchar('\n');
  24. free(args);
  25. return 0;
  26. }

mood
Publicité
Posté le 27-12-2004 à 22:24:58  profilanswer
 

n°932753
lol733
Posté le 27-12-2004 à 22:26:40  profilanswer
 

merci beaucoup!!!!!!
je mis met tt de suite!!!

n°932754
Emmanuel D​elahaye
C is a sharp tool
Posté le 27-12-2004 à 22:26:52  profilanswer
 

lol733 a écrit :

je comprend pas comment l'utiliser!!! Est ce que tu pourrai me donner un exemple?



#include <stdio.h>
#include <stdlib.h>
 
static int compare (void const *pa, void const *pb)
{
   int const *pi_a = pa;
   int const *pi_b = pb;
 
   if (*pi_a == *pi_b)
   {
      return 0;
   }
   else
   {
      if (*pi_a > *pi_b)
      {
         return 1;
      }
      else
      {
         return -1;
      }
   }
}
 
static void print (int *p, size_t n)
{
   size_t i;
   
   for (i = 0; i < n; i++)
   {
      printf ("%d ", p[i]);
   }
   printf ("\n" );
}
 
int main (void)
{
   int a[] = {2, 4, 7, 6, 1, 5, 8, 4};
 
   qsort (a, sizeof a / sizeof *a, sizeof *a, compare);
 
   print (a, sizeof a / sizeof *a);
 
   (getchar)();
 
   return 0;
}


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  tableaux

 

Sujets relatifs
css et tableauxDiv ou Tableaux pour la mise en page?
Questions betes : compilo vs runtime et tableauxLes tableaux, démodé ou pas?
[VBA] concaténer des tableauxPetit probleme de pointeurs sur des tableaux d'une structure
tableaux et sessionsTableaux en top
Tableaux imbriquésFirefox et les tableaux
Plus de sujets relatifs à : tableaux


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