IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Algorithme à rendre se soir


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 12
    Par défaut Algorithme à rendre se soir
    Bonjour, je sais je m'y prend un peu tard mais je viens de découvrire ce site alors je viens vite demander de l'aide. Je suis un cours du soir en principe et méthode de programmation, je suis débutante je précise. Le prof est assez pointilleux dans la manière de procédé. On a de temps en temps des exercices à rendre par écrit. Voici un exemple d'un que j'ai réalisé et qui a été corrigé pour vous montrer le genre et la méthode.

    www.vincentmil.be/algo.htm

    Et pour ce soir j'en ai un à rendre et celui ci est coté, je panique car je n'y arrive pas, je sais que le faire à ma place ne serait pas un bon exercice mais aidé moi au moins sinon je vais avoir zéro. Voici mon énoncé et ce que j'ai déja commencé (pas grand chose)


    Enoncé :

    Une séquence de nombres est une suite de nombres égaux. Une série de séquences de nombres entiers, positifs ou nul est entrée au clavier. La fin de la série est marquée par la valeur -1. Il s’agit d’écrire un algorithme qui calcule la longueur de la plus longue séquence ainsi que sa valeur.
    Exemple : 2222 (longueur =4 valeur =2) 555555 (longueur =6 valeur =5)



    1) Données en entrée

    Nbr = dernier nombre lus au clavier, entier (contraintes 0 <= Nbr)

    2) Résultats

    longSeq = la longueur de la plus longue séquence, entier
    valSeq = la valeur de la plus longue séquence, entier

    3) Données de travail

    Sentinelle = valeur qui marque la fin de la série, constante = -1

    4) Traitement

    DALG

  2. #2
    Membre éclairé Avatar de Nounoursonne
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 264
    Par défaut
    Bonjour,

    Attention tu es ici sur un forum d'entraide, nous ne sommes pas là pour faire tes devoirs. On peut t'aider si il y a certains points obscurs, mais saches que tu progresseras beaucoup plus en essayant de faire le problème toute seule. On est là pour t'aider si tu as des soucis .

    Bon Courage

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 12
    Par défaut re
    ben oui je comrpend mais il me manque des données de travail...je ne sais pas par quoi commencé et comment commencer, merci

  4. #4
    Membre éclairé Avatar de Nounoursonne
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 264
    Par défaut
    Non il ne manque rien, il faut simplement bien poser et comprendre l'enoncé ...

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 12
    Par défaut re
    ok ben tanpis je vais voir ce que je peux faire, merci quand meme

  6. #6
    Membre éclairé Avatar de Nounoursonne
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 264
    Par défaut
    ce n'est pas que je veux pas t'aider, mais je préfère que tu commences à avancer quelques piste avant de t'aider plus précisemment

  7. #7
    Membre averti
    Inscrit en
    Mai 2004
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 30
    Par défaut
    Bonjour,
    Ce qui importe ce n'est pas la solution mais surtout la manière de le résoudre.
    Je te conseille d'utiliser cette suite :
    22233444455666-1
    Initialise longSeq à 0 et valSeq à rien
    puis lit un par un les nombres de la séquence.
    Et dis toi comment faire pour obtenir le Résultat à chaque étape.
    Prends ton temps, cela prend entre 15' à 30' pour un débutant.

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 12
    Par défaut re
    merci, mais plus j'y réfléchis et plus je me dit qu'il me manque des données de travail, comme une valeur maximum...je devrais faire une boulce aussi, peut-etre meme une boucle à l'intérieur d'une boucle, j'essaye mais mon esprit est plus graphique, la programmation c'est pas trop mon style

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 12
    Par défaut re
    Si Nbr == Sentinelle alors stop boucler fin si

    Si Nbr == Nbr //si c'est le meme chiffre

    longSeq = lonSeq + 1 (on ajoute à longSeq le chiffre1, pour la longeur)

    sinon si Nbr != LongSeq (si il est différent)

    alors longSeq = 0

    J'ai ca en tête mais...

  10. #10
    Membre éclairé Avatar de Nounoursonne
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 264
    Par défaut
    il faut que tu compares la valeur précédente et le nombre entré
    si c'est équivalement alors tu incrémentes la longueur, ensuit il faut ragarder si la longueur est supérieure à la longueur max

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 12
    Par défaut
    ok merci, j'y travail et je mets en ligne dès que je suis avancée

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 12
    Par défaut re
    J'ai rajouté dans mes données de travail une longMax qui sera donc "la longueur maximum atteinte jusqu’à présent, entier"

    Je comprends bien qui faut lui dire que
    1) si le nombre est égale à la sentinelle alors il s'arrete
    2) si le nombre est égale au nombre alors la longMax devient se nombre si il est plus grand que longMax précédent. Et que seulement dans se cas la on incrémente longSeq à longSeq +1, que l'on mettra à zéro à nouveau si un longMax plus grand arrive

    c'est bien ca? mais comment l'écrire? avec des si dans si...

  13. #13
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 12
    Par défaut re
    je vais bientot partir au cours et je vais avoir un gros zéro

  14. #14
    Membre éclairé Avatar de Nounoursonne
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 264
    Par défaut
    tu as avancé un petit peu quand meme ?
    tu en es ou de ton algo ?

  15. #15
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 12
    Par défaut re
    j'en suis la

    longSeq = 0
    longMaxCompt = 0 //compteur
    longMax = 0

    DALG
    Lire au clavier la valeur de Nbr

    boucle
    Si Nbr = Sentinelle alors stop boucle fin si

    Si Nbr == Nbr
    Alors longCompt = longCompt+1

    Si Nbr != Nbr

    ... je ne my retrouve pas il faut initialisé une longeur, et la comparer avec une autre pour que quand lautre soit plus grand il la remplace

  16. #16
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Par défaut
    je pense que Nbr sera toujours égal à lui même
    et Nbr ne sera jamais différent de lui même.

    Tu n'es pas obligé de prendre des noms de variables courts. Plus c'est long, plus c'est compréhensible.

    Ici il semble qu'il te manque carrément une variable.
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

  17. #17
    Membre éclairé Avatar de Nounoursonne
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 264
    Par défaut
    oui, moi aussi, je pense qu"il manque au moins une variable

  18. #18
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 12
    Par défaut re
    j'ai trouvé ca, ca va? mais je vais partir dans 30 min

    longSeq = 0
    longMaxCompt = 0 //compteur
    longMax = 0

    DALG
    Lire au clavier la valeur de Nbr

    boucle
    Si Nbr = Sentinelle alors stop boucle fin si

    Si Nbr == Nbr
    Alors longCompt = longCompt +1
    Boucler


    Si Nbr != Nbr
    Alors stop longCompt
    longMax = longCompt
    longCompt = 0

    Si Nbr == Nbr
    Alors longCompt = longCompt +1
    Boucler

    Si Nbr != Nbr
    Alors stop longCompt
    Si longCompt > longMax
    Alors longMax = longCompt

  19. #19
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 12
    Par défaut
    oui mais la a l'aide je meurs moi alors, je my retrouve plus dans rien

  20. #20
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Par défaut
    Une comparaison entre Nbr et Nbr est un non sens.
    Il te manque une variable.

    Tu as d'une part le nombre entier saisi.
    ce nombre est composé de chiffres.
    Et tu dois comparer le chiffre que tu viens de lire avec le précédent (sauf si c'est le 0ème chiffre)
    Ces 3 données sont différentes. Fais attention.

    Bon courage pour ta bulle
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Formalisation graphique des algorithmes
    Par David R. dans le forum Algorithmes et structures de données
    Réponses: 14
    Dernier message: 08/12/2012, 10h21
  2. Algorithme de randomisation ... ( Hasard ...? )
    Par Anonymous dans le forum Assembleur
    Réponses: 8
    Dernier message: 06/09/2002, 14h25
  3. recherches des cours ou des explications sur les algorithmes
    Par Marcus2211 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 19/05/2002, 22h18
  4. Recherche de documentation complète en algorithmes
    Par Anonymous dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 29/03/2002, 12h09
  5. Algorithme génétique
    Par Stephane.P_(dis Postef) dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 15/03/2002, 17h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo