Partage
  • Partager sur Facebook
  • Partager sur Twitter

soucis avec une fonction recursivite

fonction recurisivite

    22 mai 2018 à 20:00:51

    bonjour

    je n'arrive pas a trouver comment faire une fonction recurcivite qui me rend ca 

    je rentre un string et un char

    il m'enleve dans le string tout le char 

    et le remet a la fin du string

    j'ai commencer a ecrire du code mais je suis bloquer 

    moveCharToLast ("hello world, let's go!",'l') → "heo word, et's go!llll"

    moveCharToLast ("you should not go",'o') → "yu shuld nt goooo"

    moveCharToLast ("&hi&hi&",'&') → "hihi&&&" 

    public static String moveCharToLast (String str, char ch)
    	{
    	
    		String chaineASupprimer =String.valueOf(ch);
    		str= str.replace(chaineASupprimer, "");
    		System.out.println(str);
    		
    	
    		return str;
    	}



    • Partager sur Facebook
    • Partager sur Twitter
      22 mai 2018 à 22:24:08

      Pourquoi faire ca avec une fonction récursive ? tu pourrais juste compter le nombre de fois que la lettre apparaît, supprimer tous ces caractère de la chaîne et ensuite tu rajoute le caractère à la fin le nombre de fois qu'il apparaissait dans le string d'origine
      • Partager sur Facebook
      • Partager sur Twitter
        22 mai 2018 à 22:54:22

        Bonjour,

        En récursivité, tu dois avoir

        • un cas de base (ici, chaine vide)
        • un cas récursif (ici, chaine non vide)

        Pour le cas récursif, ta chaine a au moins un caractère. Elle est donc de la forme "c + reste" (ex : "bonjour" = 'b' + "onjour")

        Est-ce que ça t'aide un peu ?

        • Partager sur Facebook
        • Partager sur Twitter
          23 mai 2018 à 0:19:05

          Car c'est un exercice pour s'entraîner sur la récursivité @splintz

          • Partager sur Facebook
          • Partager sur Twitter
            23 mai 2018 à 1:07:12

            Salut,

            Le principe primordial pour aborder sans peur et sans difficulté la récursivité, c'est de commencer par  identifier et traiter le cas de base.

            Le cas de base, c'est le cas dans lequel la fonction ne devra plus être appelée "une fois de plus".

            Une fois que tu as identifié et traité le cas de base, tout ce qu'il te reste à trouver, c'est la logique qui "tendra" vers le cas de base (autrement dit qui, finira tôt ou tard par atteindre le cas de base).

            • Partager sur Facebook
            • Partager sur Twitter
            Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire viennent aisément.Mon nouveau livre : Coder efficacement - Bonnes pratiques et erreurs  à éviter (en C++)Avant de faire ce que tu ne pourras défaire, penses à tout ce que tu ne pourras plus faire une fois que tu l'auras fait

            soucis avec une fonction recursivite

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown