Tableau d 'entier séquence [Résolu]

Messages postés
40
Date d'inscription
mardi 8 novembre 2005
Dernière intervention
9 mai 2007
- - Dernière réponse : scaryman
Messages postés
492
Date d'inscription
vendredi 30 janvier 2004
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.
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
492
Date d'inscription
vendredi 30 janvier 2004
Dernière intervention
16 mai 2007
10
3
Merci
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++

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 119 internautes nous ont dit merci ce mois-ci

Commenter la réponse de scaryman
Messages postés
492
Date d'inscription
vendredi 30 janvier 2004
Dernière intervention
16 mai 2007
10
0
Merci
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++
Commenter la réponse de scaryman
Messages postés
40
Date d'inscription
mardi 8 novembre 2005
Dernière intervention
9 mai 2007
0
Merci
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;
    }
Commenter la réponse de Strick9
Messages postés
2465
Date d'inscription
samedi 21 février 2004
Dernière intervention
29 janvier 2010
11
0
Merci
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"
Commenter la réponse de sheorogath

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.