1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Medicine
    Inscrit en
    avril 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 19
    Localisation : Algérie

    Informations professionnelles :
    Activité : Medicine

    Informations forums :
    Inscription : avril 2018
    Messages : 9
    Points : 1
    Points
    1

    Par défaut Algorithme qui élimine les chiffre répétés

    Bonsoir les gars,c'est ma 1ere année en informatique et j'ai un un algorithme à faire que je ne peux plus solver.bref,il dit comme suivant:
    Écrivez un algorithme qui permet de d'éliminer les chiffres dans un nombre N de tel sorte que par ex
    Si N=132236 ,M sera égale à : 1326
    Ou par ex si N=2032502➡ M=2035
    Ou même si N= 666➡M=6
    Merci d'avance

  2. #2
    Expert éminent Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    septembre 2005
    Messages
    2 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : septembre 2005
    Messages : 2 914
    Points : 6 840
    Points
    6 840

    Par défaut

    Bonjour

    Écrivez
    Toi-même.

    les gars
    Et ben alors ? On a un problème avec les filles ?

    il dit comme suivant:
    Qui ? Le père-noël ?
    Est-il utile de rappeler que poster des énoncés d'exercices est interdit.

    c'est ma 1ere année en informatique
    Le noviciat n'excuse pas la flemme.

    Si N=132236 ,M sera égale à : 1326
    Ou par ex si N=2032502➡ M=2035
    Ou même si N= 666➡M=6
    Quelle est la transformation ? On enlève des chiffres au hasard ?

    Merci d'avance
    Si, dans ton esprit, ceci est une formule de politesse, bannis-la immédiatement.
    C'est l'équivalent de "Merci mon chien".
    Oui, je sais, c'est ta première année dans la politesse......
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.
    Votre problème est résolu ? Cliquez sur en bas de page.

    Linux, grep/sed/awk/xml... et autres fichiers plats, Java, C++

  3. #3
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mai 2002
    Messages
    2 603
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : mai 2002
    Messages : 2 603
    Points : 4 136
    Points
    4 136

    Par défaut

    salut

    il faut te poser la question comment ferait tu eliminer les doublons
    une fois que tu t'est dis ça
    tout devient limpide

    un indice utlise les tableaux c'est super pratique
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Medicine
    Inscrit en
    avril 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 19
    Localisation : Algérie

    Informations professionnelles :
    Activité : Medicine

    Informations forums :
    Inscription : avril 2018
    Messages : 9
    Points : 1
    Points
    1

    Par défaut

    Citation Envoyé par Flodelarab Voir le message
    Bonjour
    C'est ma 1ere fois dans ce site

    Citation Envoyé par anapurna Voir le message
    salut

    il faut te poser la question comment ferait tu eliminer les doublons
    une fois que tu t'est dis ça
    tout devient limpide

    un indice utlise les tableaux c'est super pratique
    On a pas encore étudier les tableaux, y'a til une manière de le solver sans utiliser ces tableaux ?

  5. #5
    Expert éminent Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    septembre 2005
    Messages
    2 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : septembre 2005
    Messages : 2 914
    Points : 6 840
    Points
    6 840

    Par défaut

    Oui bien sûr. C'est pénible. Mais c'est possible.

    Tu utilises 10 variables pour savoir si le chiffre est présent. p0 pour 0, p1 pour 1, etc.... p9 pour 9, tous initialisés à 0 (qui veut dire absent).

    Puis tu cherches la puissance de 10 minimale qui surpasse N.

    Ensuite tu extrais de N tous les chiffres dans l'ordre (de gauche à droite).
    Si le chiffre x a son px à 0, tu l'affiches et tu passes px à 1.
    Et tu passes au suivant jusqu'à ce que la puissance atteigne 0.


    Tu n'as pas utilisé de tableau.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.
    Votre problème est résolu ? Cliquez sur en bas de page.

    Linux, grep/sed/awk/xml... et autres fichiers plats, Java, C++

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Medicine
    Inscrit en
    avril 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 19
    Localisation : Algérie

    Informations professionnelles :
    Activité : Medicine

    Informations forums :
    Inscription : avril 2018
    Messages : 9
    Points : 1
    Points
    1

    Par défaut

    Citation Envoyé par Flodelarab Voir le message
    Oui bien sûr. C'est pénible. Mais c'est possible.

    Tu utilises 10 variables pour savoir si le chiffre est présent. p0 pour 0, p1 pour 1, etc.... p9 pour 9, tous initialisés à 0 (qui veut dire absent).

    Puis tu cherches la puissance de 10 minimale qui surpasse N.

    Ensuite tu extrais de N tous les chiffres dans l'ordre (de gauche à droite).
    Si le chiffre x a son px à 0, tu l'affiches et tu passes px à 1.
    Et tu passes au suivant jusqu'à ce que la puissance atteigne 0.


    Tu n'as pas utilisé de tableau.
    Ouiii c'est une bonne idée ,tu peut m'expliquer plus ou me faire un exemple ?

  7. #7
    Expert éminent Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    septembre 2005
    Messages
    2 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : septembre 2005
    Messages : 2 914
    Points : 6 840
    Points
    6 840

    Par défaut

    tu peux m'expliquer plus
    Qu'est-ce que tu ne comprends pas ou n'arrives pas à faire ?
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.
    Votre problème est résolu ? Cliquez sur en bas de page.

    Linux, grep/sed/awk/xml... et autres fichiers plats, Java, C++

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Medicine
    Inscrit en
    avril 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 19
    Localisation : Algérie

    Informations professionnelles :
    Activité : Medicine

    Informations forums :
    Inscription : avril 2018
    Messages : 9
    Points : 1
    Points
    1

    Par défaut

    Je veux qu'un exemple avec ta méthode, par ex si N=1223 comment le transmettre à M=123

  9. #9
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mai 2002
    Messages
    2 603
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : mai 2002
    Messages : 2 603
    Points : 4 136
    Points
    4 136

    Par défaut

    salut

    on le repete nous ne somme pas là pour faire vos exercice
    on peut vous mettre sur la voie ensuite a vous de nous montrer
    ce que vous avez compris et on corigera selons le cas ... mais pas l'inverse
    il t'a donné une solution parmis tans d'autre essai de l'appliquer et reviens nous voir avec un bout de code
    de ce que tu as compris
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  10. #10
    Nouveau Candidat au Club
    Homme Profil pro
    Medicine
    Inscrit en
    avril 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 19
    Localisation : Algérie

    Informations professionnelles :
    Activité : Medicine

    Informations forums :
    Inscription : avril 2018
    Messages : 9
    Points : 1
    Points
    1

    Par défaut

    Oui ,je comprends que vous etes là pour me guider,merci pour ça,je demande pas m'écrire un algorithme, j'ai demandé une idée.le problème est que je n'ai pas bien compris son idée alors j'ai lui demander un exemple 😊😊

  11. #11
    Expert éminent Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    septembre 2005
    Messages
    2 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : septembre 2005
    Messages : 2 914
    Points : 6 840
    Points
    6 840

    Par défaut

    Exemple: N=1223
    M=123
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.
    Votre problème est résolu ? Cliquez sur en bas de page.

    Linux, grep/sed/awk/xml... et autres fichiers plats, Java, C++

  12. #12
    Nouveau Candidat au Club
    Homme Profil pro
    Medicine
    Inscrit en
    avril 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 19
    Localisation : Algérie

    Informations professionnelles :
    Activité : Medicine

    Informations forums :
    Inscription : avril 2018
    Messages : 9
    Points : 1
    Points
    1

    Par défaut

    Je voulus dire un exemple avec votre méthode ,genre d'analyse

  13. #13
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    octobre 2004
    Messages
    1 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : octobre 2004
    Messages : 1 610
    Points : 990
    Points
    990

    Par défaut

    Bonjour,

    Sinon j'aurai fait cela en utilisant une simple boucle pour parser le nombre principale N dans ton exemple puis occurrence par occurrence tu recherches si elle existe dans le reste de la chaîne et si oui tu l'as prend pas sinon tu l'as prend et tu passes à la suite.

  14. #14
    Nouveau Candidat au Club
    Homme Profil pro
    Medicine
    Inscrit en
    avril 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 19
    Localisation : Algérie

    Informations professionnelles :
    Activité : Medicine

    Informations forums :
    Inscription : avril 2018
    Messages : 9
    Points : 1
    Points
    1

    Par défaut

    Je vais essayer puis revenir

  15. #15
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mai 2002
    Messages
    2 603
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : mai 2002
    Messages : 2 603
    Points : 4 136
    Points
    4 136

    Par défaut

    salut

    il n'y a pas qu'une solution tu peut tres bien utiliser les chaine de caratere

    tu parcourt la chaine d'origine et pour chaque caractere (ici c'est tes chiffres)
    tu regarde si il existe dans ta chaine resultat. si elle existe tu ne fait rien sinon tu ajoute ton caractere à la chaine resultat

    Indice
    Avec deux boucles et une condition tu peut faire ton processus ... ce n'est vraiment pas compliqué
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  16. #16
    Nouveau Candidat au Club
    Homme Profil pro
    Medicine
    Inscrit en
    avril 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 19
    Localisation : Algérie

    Informations professionnelles :
    Activité : Medicine

    Informations forums :
    Inscription : avril 2018
    Messages : 9
    Points : 1
    Points
    1

    Par défaut

    OK merci beaucoup tu mas vraiment aidé

  17. #17
    Membre éprouvé

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    décembre 2010
    Messages
    623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : décembre 2010
    Messages : 623
    Points : 1 252
    Points
    1 252
    Billets dans le blog
    5

    Par défaut Algorithme qui élimine les chiffre répétés

    Bonjour,

    Les exemples donnés:
    Citation Envoyé par Aso05 Voir le message
    ... Si N=132236 ,M sera égale à : 1326
    Ou par ex si N=2032502➡ M=2035
    Ou même si N= 666➡M=6 ...
    suggèrent un accroissement progressif à partir du premier chiffre à partir de la gauche. Les chaînes de caractères se prêtent à une telle évolution, par le procédé de concaténation. Sais-tu l'employer ?
    Ce serait il est vrai une manière un peu hypocrite de contourner l'exclusion des tableaux; et sans doute trop compliqué.(1)

    Les opérations de l'arithmétique (quotient et reste de la division euclidienne) permettent probablement de définir une double suite (An, Bn), en partant de la puissance de dix (D0 < 1010) immédiatement inférieure au nombre considéré (N).

    Exemple: N = 15788452 , conduisant au résultat: N' = 157842 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    N = 15788452   D0 = 10^7
    
    A0 = 1 = N DIV D0    R0 = 5788452 =  N MOD D0   D1 = D0 DIV 10   ...   B0 = 1
    
    A1 = 5 = R0 MOD D1   R1 =  788452 = R0 MOD D1   D2 = D1 DIV 10   ...   B1 = 15
    
    A2 = 7 = R1 DIV D2   R2 =   88452 = R1 MOD D2   D3 = D2 DIV 10   ...   B2 = 157
    Les indices montrent simplement la succession des valeurs des variables entières (Ai, Ri, Di, Bi).

    La difficulté commence à la seconde ligne, lors du passage conditionnel à la nouvelle valeur de (B2); c'est là qu'intervient le jeu de 10 variables (P0, P1, ... P9) initialisées à l'unité, et progressivement augmentées, par l'intervention de l'instruction CASE:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CASE A OF  0: P0:= 11 * P0;
               1: P1:= 11 * P1;
               2: P2:= 11 * P2; ...
               9: P9:= 11 * P9  END;
    Dès le renouvellement d'un chiffre donné (Pi = 112) - et seulement dans ce cas - la somme
    S = P0 + P1 + P2 + ... +P9 dépasse 120.

    Là, je crois que j'en ai trop dit, et que cela va produire de légères contrariétés

    (1) Remarque écrite sans malice: je n'avais pas lu la contribution d'anapurna


    Le français, notre affaire à tous
    Grand Dictionnaire Terminologique

  18. #18
    Nouveau Candidat au Club
    Homme Profil pro
    Medicine
    Inscrit en
    avril 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 19
    Localisation : Algérie

    Informations professionnelles :
    Activité : Medicine

    Informations forums :
    Inscription : avril 2018
    Messages : 9
    Points : 1
    Points
    1

    Par défaut

    Tu es super merci trop,je vais grouper ça en algo merci bcp

  19. #19
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mai 2002
    Messages
    2 603
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : mai 2002
    Messages : 2 603
    Points : 4 136
    Points
    4 136

    Par défaut

    salut

    wixmania
    j'adore ton raisonement sauf que tu ne tiens pas compte de l'ordre d'apparition des chiffres


    l'exemple N=132236 ne donnera pas 1326 mais 1236
    et N=2032502 ne donneras pas 2035 mais 0235

    j'avoue que ma premiere proposition avec les tableaux n'en tenais pas compte non plus et par consequence n'etait pas correct
    c'est lors de ta demonstration que je me suis apperçu de l'ordre des elements
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  20. #20
    Membre éprouvé

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    décembre 2010
    Messages
    623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : décembre 2010
    Messages : 623
    Points : 1 252
    Points
    1 252
    Billets dans le blog
    5

    Par défaut Algorithme qui élimine les chiffre répétés

    Citation Envoyé par anapurna Voir le message
    ... tu ne tiens pas compte de l'ordre d'apparition des chiffres

    l'exemple N=132236 ne donnera pas 1326 mais 1236
    et N=2032502 ne donneras pas 2035 mais 0235

    j'avoue que ma première proposition avec les tableaux n'en tenait pas compte non plus et par conséquent n'était pas correcte ...
    Ton idée constitue une piste tout à fait utilisable.

    L'instruction à choix multiples CASE sélectionne les valeurs dans l'ordre où elles se présentent, donc dans le sens dextrograde de la lecture.
    Pour reprendre ton exemple (N = 132236 , D0 = 105):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    A                    R                    D                    S                    B
    
    1                    32236                10000                11+9 = 20            1
    3                    2236                 1000                 2*11+8 = 30          1*10+3 = 13
    2                    236                  100                  3*11+7 = 40          13*10+2 = 132
    2                    36                   10                   11^2+2*11+6 = 149    132 (pas de modification)
    3                    6                    1                    11^2+2*11+6 = 149    132 (pas de modification)
    6                    0                    0                    4*11+6 = 50          1326
    Il y a effectivement une erreur: le contrôle ne doit pas s'effectuer sur (A), mais sur la valeur précédente de (B) associée au nouveau chiffre, soit (10*Bn-1 + c).
    Le mieux (ou le moindre mal) est de définir à part une fonction Somme(B, c). Merci de m'avoir incité à reprendre ce détail.

    Citation Envoyé par anapurna Voir le message
    ... wixmania ...
    Non. Wiwaxia


    Le français, notre affaire à tous
    Grand Dictionnaire Terminologique

Discussions similaires

  1. pattern qui exclut les chiffres
    Par PedroL dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 03/02/2013, 19h40
  2. Réponses: 12
    Dernier message: 15/10/2012, 21h08
  3. Réponses: 4
    Dernier message: 01/10/2011, 00h13
  4. division qui conserve les chiffres après la virgule
    Par ali.ensi dans le forum Débuter
    Réponses: 3
    Dernier message: 05/10/2007, 13h26
  5. Recherche programme qui convertit les chiffres arabes en nb
    Par oli57 dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 15/06/2002, 03h11

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