Tableau d 'entier séquence

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 à 12:22
scaryman Messages postés 492 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 16 mai 2007 - 25 mai 2006 à 14:51
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.

4 réponses

scaryman Messages postés 492 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 16 mai 2007 12
25 mai 2006 à 14:51
Je crois que ceci marche (p-e moyen de faire plus simple):
int suite(int[] tab) {
        int nbre = 0;
        int prov = 0;
        boolean pair;
        if(tab[0] % 2 == 0)
            pair = true;
        else
            pair = false;
        prov++;
        for(int i = 1; i < tab.length; i++) {
            if(tab[i] % 2 == 0) {
                if(!pair) {
                    prov++;
                    if(i == tab.length - 1) {
                        if(prov > nbre)
                            nbre = prov;
                    }
                }
                else {
                    if(prov > nbre)
                        nbre = prov;
                    prov = 1;
                }
                pair = true;
            }
            else {
                if(pair) {
                    prov++;
                    if(i == tab.length - 1) {
                        if(prov > nbre)
                            nbre = prov;
                    }
                }
                else {
                    if(prov > nbre)
                        nbre = prov;
                    prov = 1;
                }
                pair = false;
            }
        }
        return nbre;
   }

A++
3
scaryman Messages postés 492 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 16 mai 2007 12
25 mai 2006 à 13:02
Salut
Tu veux qu'on fasse tes énoncés de cours? On est ici pour donner de l'aide quand quelqu'un est bloqué dans son code mais par pour faire des codes entiers. http://www.javafr.com/reglement.aspx

A++
0
Strick9 Messages postés 40 Date d'inscription mardi 8 novembre 2005 Statut Membre Dernière intervention 9 mai 2007
25 mai 2006 à 13:07
désolé, je croyais que c'était interdit pour les truc compliqué genre projet
mais si j ai demandé sa ne veux pas dire que je n est pas essayé. voila mon code peut être que tu peux le corriger alors :)

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;
    }
0
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
25 mai 2006 à 13:34
en effet il vaux mieu mettre aussi le code avec qui pose probleme ca nous montre que ta essaye
je ne suis pas assez fort en maths pour te corriger mais bone chance

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
0
Rejoignez-nous