Fonction particuliere pour tableau en C

Fermé
momo-ben2A Messages postés 105 Date d'inscription lundi 10 août 2009 Statut Membre Dernière intervention 19 décembre 2010 - 20 juin 2010 à 18:39
momo-ben2A Messages postés 105 Date d'inscription lundi 10 août 2009 Statut Membre Dernière intervention 19 décembre 2010 - 22 juin 2010 à 13:33
Bonjour a tous, je fais appelle a vous car je voulais savoir si il existe en C un fonction qui permet de savoir si la taille du tableau et pair ou bien impair.

Je suis en train de créer une fonction qui inverse le tableau (ex : 1234 deviendra 4321) mais le traitement pour un tableau pair et different de celui d'un tableau impair. J'ai donc fait 2 code pour chacun d'eux mais il me manque la fonction qui permet de savoir si un tableau est pair ou si il est impair pour faire




   1. if (tableau[5] == 1 (pair))
   2. {
   3. do
   4.     {
   5.         temporaire = tableau[valeurFin];
   6.         tableau[valeurFin] = tableau[valeurDebut];
   7.         tableau[valeurDebut] = temporaire;
   8.         valeurDebut++;
   9.         valeurFin--;
  10.     }    while ( valeurDebut != valeurFin-1);/*  PS : je rencontre un probleme avec ce code, au lieu que ce soit 654321 lorsque j'inverse, celui ci me sort 653421 donc si vous pouvez m'aider ce serait simpa */
  11. }
  12.
  13. else /* donc si tableau impair */
  14. {
  15. do
  16.     {
  17.         valeur1 = tableau[valeurDebut];
  18.         valeur2 = tableau[valeurFin];
  19.         tableau[valeurFin] = valeur1;
  20.         tableau[valeurDebut] = valeur2;
  21.         valeurDebut++;
  22.         valeurFin--;
  23.     }    while ( valeurDebut != valeurFin); // PS : je ne rencontre pas de probleme avec celui ci
  24. }

voila, j'ai deja commencé a reflechir sur la creation d'un fonction qui permet de savoir si la taille du tableau est pair ou impair, mais je suis dans l'impasse car je sais pas comment m'y prendre, part ou commencer

j'attend vos reponse, je vous remercie tous d'avance !!!!



A voir également:

4 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
20 juin 2010 à 22:19
Je n'ai pas lu ton code, mais je ne vois pas en quoi, il faut séparer le cas du code pair impaire. En tout cas, l'algorithme classique ne sépare pas ces cas. Si c'est le cas, c'est que ton algorithme est probablement à revoir.

Sinon pour répondre à ta question, et en considérant que ton tableau soit rempli entièrement, tu as la fonction sizeof(tableau) / sizeof (*tableau).

Cdlt,
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
21 juin 2010 à 08:59
je dirais comme condition :
while ( valeurDebut <valeurFin);
vallable pour pair et impair.
0
timike972 Messages postés 19 Date d'inscription mercredi 16 juin 2010 Statut Membre Dernière intervention 1 octobre 2011
Modifié par timike972 le 21/06/2010 à 09:48
tu na pas besoin de faire tout sa de chichi tu as juste besoin faire une boucle qui va parcourir ton tableau et comparer les valeurs contenue dans celui ci :
la premiere boucle aura au depart l'indice i=0 et la deuxieme parcour tout le tableau en comparant jusqu'a j=6 dans ton cas on incremente i donc i passe a 1 et j recommence a balayer le tableau etc
0
momo-ben2A Messages postés 105 Date d'inscription lundi 10 août 2009 Statut Membre Dernière intervention 19 décembre 2010 9
22 juin 2010 à 13:33
fiddy, si je separe les tableaux pairs des tableaux impairs c'est parce que pour moi, ils se traitent differament les uns des autres (j'ai trouvé une solution en utilisant les modulos, une fois fini je montrerai le script pour voir
0