begin process at 2012 05 30 18:04:16
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Débutant(e)

 > 

tableau d 'entier séquence


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

tableau d 'entier séquence

jeudi 25 mai 2006 à 12:19:33 | tableau d 'entier séquence

Strick9

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 fonction permettant de déterminer la taille (nombre d'entier) de la séquence alterné la plus longue dans le tableau.

Exemple:
la fonction 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.

jeudi 25 mai 2006 à 13:02:14 | Re : tableau d 'entier séquence

Strick9

j ai essayé de le résoudre mais j ai des erreur.
voila ma fonction:

 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;
    }
jeudi 25 mai 2006 à 13:48:29 | Re : tableau d 'entier séquence

24Karas

Réponse acceptée !
voilà un p'tit truc que j'ai fait rapido, ça te renvoie en plus l'index du premier element de la sequence la plus longue. test bien j'ai pas regardé enormement.

#include <stdio.h>


unsigned int sequence(unsigned int t[], unsigned int uNb,unsigned int *FirstElem)
{
    // vars
    unsigned int    uI = 0;
    unsigned int    uMax;
    unsigned int    uCpt;
    unsigned char    ucPrevious;
    unsigned int    uStart;

    // cas ou tableau vide
    if (uNb == 0)
    {
        return 0;
    }

    // init max nomber
    uCpt = 0;
    uMax = 0;
    uStart = 0;
    *FirstElem = 0;

    if (t[0]%2 == 0)
    {
        ucPrevious = 0;    // pair
    }
    else
    {
        ucPrevious = 1;    // impair
    }


    while (uI < uNb)
    {
        // element courant est pair
        if (t[uI]%2 == 0)
        {
            if (ucPrevious == 0)    // le précédent est pair
            {
                if (uCpt > uMax)
                {
                    uMax = uCpt;
                    *FirstElem = uStart;
                }
                uStart = uI;
                uCpt = 1; // 1 parce qu'on garde element courant
            }
            else                    // le précédent est impair
            {
                uCpt++;
                ucPrevious = 0;
            }
        }
        else    // element courant impair
        {
            if (ucPrevious == 0)    // le précédent est pair
            {
                uCpt++;
                ucPrevious = 1;
            }
            else                    // le précédent est impair
            {
                if (uCpt > uMax)
                {
                    uMax = uCpt;
                    *FirstElem = uStart;
                }
                uStart = uI;
                uCpt = 1; // 1 parce qu'on garde element courant
            }
        }
        uI++;
    }

    if (uCpt > uMax)
    {
        uMax = uCpt;
        *FirstElem = uStart;
    }

    return uMax;
}

int main (void)
{
    unsigned int uNbElem = 15;
    unsigned int tab[]={2,2,3,5,4,8,4,1,6,9,4,1,3,6,4};
    unsigned int uMaxLen;
    unsigned int uFirstElem;
    unsigned int uI;

    uMaxLen = sequence(tab,uNbElem,&uFirstElem);
    fprintf (stderr,"MAX : %u\n",uMaxLen);
    for (uI=0;uI<uMaxLen;uI++)
    {
        fprintf (stderr,"%u - ",tab[uFirstElem+uI]);
    }
    return 0;
}

++
24K



Cette discussion est classée dans : entiers, tableau, suite, entier, séquence


Répondre à ce message

Sujets en rapport avec ce message

sequance d alternance paire et impaire ds un tableau [ par Strick9 ] Bonjour à tousvoila 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 Tri indirect [ par Darksnakes ] Bonjour ,voila j'ai un probleme sur l'ecriture en c d'un tri indirect.ce tri consites à declarer un tableau d'entiers de même taille que le tableau M pouvoir lire un entier en tant que tableau (bit à bit) [ par platinum07 ] Amis codeurs, bonjour !Je suis sur un petit problème depuis quelques heures... la solution est surement sous mon nez mas je ne trouve pas <img src=/im est il possible en C de retourner un tableau d'entier dasn une fcontcion ?? [ par nicola2s ] j'ai une fonction dans laquelle j'obtient un tableau d'entier int bidul[15]; est if possible de retourner ce tableau d'entier dasn ma fonction ? si ou [vc++]réduction de la taille [ par imanedaoudi ] Bonjour,j'ai un tableau de 6000 entier, je cherche à réduire la taille de ce tableau en préservant le nombre d'entier (je dois agir peut etre au nivea exercice tableau 2D pdcg et premier de deux entiers [ par ZeusRoot ] Melook Media enr.Voici ma question : Je suis un debutant en C et je voudrais savoir comment aborder ce exercice.Enonce1.- Pour un nombre e Tableau suite... [ par Niníel ] Alors voila ma 2ème question de la journée :-PJ'ai un tableau de caractères 64 position: char Tab[64], un compteur: int inCompter et un tableau de 1 p lecture / ecriture [ par Kevin972 ] salut,bon voila mon probleme... je voudrais copier dans un tableau de 400x400 une serie d'entiersles entiers sont disposés de cette manière dans le fi Tableau entier & Nombres paires !?? [ par cpp26 ] Salut,Un  prophesseur ma donner un exercice,ce dernier et de: lire un tableau entier!! Et afficher les nombres paires. Ahh qeul STAGE on été avec un p inserer un entier dans un tableau de int [ par clcat ] salut la compagnie j ai un ptit probleme(visual C++)j ai un tableau de string :   string TAB[10];et j ai un entier, p=3 par exemple la valeur de p n'e


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales