Sequance d alternance paire et impaire ds un tableau

Résolu
Strick9 Messages postés 40 Date d'inscription mardi 8 novembre 2005 Statut Membre Dernière intervention 9 mai 2007 - 25 mai 2006 à 13:53
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 - 26 mai 2006 à 16:09
Bonjour à tous
voila je suis débutant et j'aimerai bien connaître la solution de cet énoncé.




Soit un tableau d'entier. Une séquence paire est une suite d'entiers pairs. Une séquence impaire est une suite d'entiers impairs. Une séquence alternée est une suite d'entiers où il n y a pas deux entiers consécutifs ayant la même parité.
Ecrire une méthode permettant de déterminer la taille (nombre d'entier) de la séquence alterné la plus longue dans le tableau.




Exemple: la méthode doit rendre la valeur 6 pour un tableau contenant les valeurs suivantes:




                            2   2   3   5   4   8   4   1   6   9   4   1   3   6   4




Merci pour avoir pris le temps de lire et si vous connaissez la réponse, n'hésitez pas :) .
Bonne journée à toute et à tous.
voila mon code je suis bloqué je ne trouve pas mon erreur

public static int sequence(int t[], int x)
    {
        int i = 0;
        int j = i + 1;        int cpt 0; int l 0;
       
        while (i < x)
        {
           
            if (t[i] % 2 != 0)
            {
                while (t[i] % 2 != 0 && t[j] % 2 == 0)
                {
                    i++; l++;
                    if (t[i]%2!=0&&t[j]%2!=0)
                    {
                        if (cpt<l) cpt=l;
                    l = 0;
                    }




                   
                }
            }
            else while (t[i] % 2 == 0 && t[j] % 2 != 0)
                {
                    i++; l++;
                    if (cpt < l) cpt = l;
                }
        } return cpt;
    }
A voir également:

5 réponses

cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
25 mai 2006 à 15:06
BOOL Pair(int a)
{
       return !(a % 2);
}

int Alternee(int *Tab, UINT iSize)
{
      int i, iLen, iMaxLen;
     
     
      if (iSize <= 0)
           return 0;
           
      iLen = 1;
      iMaxLen = 1;
      
      for(i=0; i iMaxLen)
                                     iMaxLen = iLen;
               }
               else
                        iLen = 1;
      }
      return iMaxLen;
}

if(!Meilleur("Joky")) return ERREUR;<
3
24Karas Messages postés 233 Date d'inscription jeudi 4 juillet 2002 Statut Membre Dernière intervention 5 juillet 2008
25 mai 2006 à 16:25
http://www.cppfrance.com/infomsg_TABLEAU-ENTIER-SEQUENCE_745908.aspx#2

strick9 > une seule fois suffit dans le forum. meme si ça te donne 2 solutions à ta question pour cette fois
++
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
25 mai 2006 à 17:48
if(nbr & 1) IMPAIR
pas besoin de fonction pour cela.

ciao...
BruNews, MVP VC++
0
Strick9 Messages postés 40 Date d'inscription mardi 8 novembre 2005 Statut Membre Dernière intervention 9 mai 2007
25 mai 2006 à 19:30
oui désolé, je sais bien qu'il faut poster un sujet qu'une seule fois mais je ne savais pas comment effacer l'ancien car j ai voulu poster sous le thème algorithme/maths.
en tout cas merci pour les réponses et bon code a tous.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
26 mai 2006 à 16:09
C'est vrai pour la fonction lol...
J'avais pas pensé à ça :s
if(!Meilleur("Joky")) return ERREUR;<
0
Rejoignez-nous