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

C++ Discussion :

Algorithme de concaténation à partir de pointeurs


Sujet :

C++

  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 2
    Par défaut Algorithme de concaténation à partir de pointeurs
    Bonsoir à tous,

    Je viens d'écrire un petit algorithme afin de concaténer deux chaines de caractères Chaine1 et Chaine2.

    Pourriez-vous m'aider afin de le corriger si cela est nécessaire ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Début
     
    	Saisir deux chaines de caractères au clavier Chaine1 et Chaine2
    	Définir deux pointeurs sur des caractères p et q
     
    	p -> adresse mémoire de la 1ere lettre de Chaine1
    	q -> adresse mémoire de la 1ere lettre de Chaine2
     
    	Tant que p différent de '\0' répéter
    		Chaine3 <- p
    	Fin Tant que
     
    	Tant que q différent de '\0' répéter
    		Chaine3 <- q
    	Fin Tant que
     
    Fin
    Bonne soirée.
    Cordialement Sundering.

    exemple : Chaine1="SALUT" Chaine2="DEVELOPPEZ" Chaine3="SALUT DEVELOPPEZ"

  2. #2
    Membre émérite Avatar de HanLee
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2004
    Messages : 738
    Par défaut
    Ton algorithme boucle indéfiniment sur tes exemples, corrige déjà ça.

  3. #3
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 2
    Par défaut
    Comme ca ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Début
     
    	Saisir chaine1 de caractère au clavier
    	Saisir chaine2 de caractère au clavier
    	p <- Adresse mémoire de la lettre 1 de chaine1
    	q <- Adresse mémoire de la lettre 1 de chaine2
    	r <- Adresse mémoire de la première case de Tab3
     
    	Tant que la case mémoire pointé par q est différente de 0
     
    		Si la case mémoire pointé par p est différente de 0
    		Alors
    			Copier le contenu de la case mémoire pointé par p dans celle pointé par r
    			Incrémenter r et p
    		Sinon
    			Copier le contenu de la case mémoire pointé par q dans celle pointé par r
    			Incrémenter r et q
    		Fin Si
     
    	FinTantQue
     
    	Placer la marque de fin de chaine dans la case mémoire pointé par r
    	Afficher la chaine concaténée
     
    Fin

  4. #4
    Membre expérimenté
    Profil pro
    Dev
    Inscrit en
    Décembre 2007
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dev

    Informations forums :
    Inscription : Décembre 2007
    Messages : 191
    Par défaut
    Je pense que tu peux te permettre de faire l'amalgame entre "case mémoire" et "caractère", ça complique un peu la lecture de ton algorithme je trouve.

    Mais en effet, tu avais oublié d'incrémenter p et q (et r). Un détail : tu oublies de déclarer la chaine d'arrivée (de la bonne taille) .


    et tes 2 boucles d'avant qui se suivent, c'est mieux, ça t'évite de faire une comparaison de trop a chaque fois : une fois que la première chaine est copiée, on ne s'en occupe plus.

Discussions similaires

  1. Concaténation d'un pointeur sur char
    Par Alwik dans le forum C
    Réponses: 3
    Dernier message: 20/10/2010, 11h30
  2. Concaténation à partire d'une matrice
    Par slayer21 dans le forum MATLAB
    Réponses: 6
    Dernier message: 10/07/2009, 11h12
  3. Algorithmes sur des conteneurs de pointeurs
    Par Trunks dans le forum SL & STL
    Réponses: 9
    Dernier message: 17/02/2009, 02h01
  4. Algorithme combinaisons mots à partir de lettres
    Par micfont999 dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 16/01/2007, 00h53
  5. Sauvegarder données à partir und'un pointeur
    Par homeostasie dans le forum C
    Réponses: 5
    Dernier message: 16/06/2006, 17h15

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