Exo algo inversement de chaine

bansan Messages postés 125 Statut Membre -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,Voici un exercice que je ne parviens pas a resoudre avec les fonctions que l'on m'a donnée a savoir: sschine,longueur, RANG et autres structures iteratives et conditionelles...
Si qqun pouvait me donner une indication..
Merci

Exercice 5 - Chane inverse (affichage)
Ecrire un algorithme dont le rOle est de permettre a l'utilisateur de saisir une chaine de caracteres et d'afficher la chaine "en sens inverse" (le dernier caractere est affiche en premier. l'avant-dernier caractere est affiche en deuxierne et ainsi de suite...).

Voila comment j'ai commencé..mais je ne vois pas le bout..&&&

5) Chaine inversée
*Variables :
mot : Chaine,
i, a :entiers

Afficher(« Saisir un mot »)
Saisir(mot)
i<-- LONGUEUR(mot)
a<-- sschaine(mot , i, 1)
Pour sschaine(mot , i, 1) de a à 0
Afficher(

10 réponses

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    Il suffit de parcourir du début à la fin (index i) et d'extraire la sous chaîne de longueur 1 à la position i, puis de l'afficher.

    Concrètement il faut donc faire un boucle for (pour) qui fait évoluer cet index i (ce qui correspond à une itération). A chaque itération tu appelles sschaine(mot,i,1) pour extraire le caractère à afficher, et tu l'écris.

    En C++ (s[i] correspond au ième caractère d'une chaîne s, le premier caractère de la chaîne correspondant à s[0])
    #include <iostream>
    #include <string>
    
    int main(){
      std::string mot = "tapir";
      unsigned n = mot.size();
      for(unsigned int i = 0; i < n ; ++i){
        // afficher le caractère à la position n - i - 1 où n désigne la longueur du mot
        std::cout << mot[ n - i -1 ]; 
      }
      std::cout << std::endl; // passer à la ligne
      return 0; // fin du programme
    }
    

    Bonne chance
    3
    1. bansan Messages postés 125 Statut Membre 1
       
      Assez rude a pouvoir le mettre en pseudo language...
      Comment faire l'index??

      Comment afficher chaque caractere e n fin de programme quand je dis afficher(...???


      5) Chaine inversée
      *Variables :
      mot : Chaine,
      i, a :entiers

      Afficher(« Saisir un mot »)
      Saisir(mot)
      i<-- LONGUEUR(mot)
      a<-- sschaine(mot , i, 1)
      Pour sschaine(mot , i, 1) de a à 0
      Afficher(
      0