Partage
  • Partager sur Facebook
  • Partager sur Twitter

Exercices sur les chaînes de caractères

Mes fonctions

    28 février 2006 à 8:48:45

    Après de longues nuits blanches, passé à réfléchir... Après six paquets de cigarettes, trente deux bouteilles de bière, un divorce, j'ai réussi à faire tous les exercices demandés par M@teo... la tâche fut longue et difficile, mais la satisfaction est là...


    // Copie d'une chaîne

    char* stringCopy(char* copieDeLaChaine, const char* chaineACopier)
    {
        long i = 0;

        do
        {
            copieDeLaChaine[i] = chaineACopier[i];
            i++;
        } while (chaineACopier[i] != '\0');

        return copieDeLaChaine;
    }



    // Concaténation de deux chaînes

    char* strConcat(char* chaine1, const char* chaine2)
    {
        long i = 0,j = 0;

        do
        {
            i++;
        } while (chaine1[i] != '\0');

        do
        {
            chaine1[i] = chaine2[j];
            i++;
            j++;
        } while (chaine2[j] != '\0');

        return chaine1;
    }



    // Comparaison de chaînes

    int strCompare(const char* chaine1, const char* chaine2)
    {
        long i = 0, j = 0, k = 0;

        do
        {
            i++;
        } while (chaine1[i] != '\0');

        do
        {
            j++;
        } while (chaine2[j] != '\0');

        if (i > j)
            return 1;

        else if (i < j)
            return -1;

        else if (i == j)
        {
            do
            {
                if (chaine1[i] == chaine2[i])
                {
                    k = 0;
                }
                else
                {
                    k = 1;
                }
                i--;
            } while ( i != 0);
        }

        if (k == 0)
            return 0;
        else
            return 2;
    }



    // Recherche d'un caractère

    char* strRecherche(const char* chaine, int caractereARechercher)
    {
        long i = 0, j = 0;

        long *position = 0;

        do
        {
            i++;
        } while (chaine[i] != '\0');

        for ( j = 0 ; j < i ; j++)
        {
            if (chaine[j] == caractereARechercher)
            {
                position = &chaine[j];
            }
        }

        return position;
    }



    // Recherche premier caractère de la liste

    char* strRecherche2(const char* chaine, const char* lettresARechercher)
    {
        long i = 0, j = 0, k = 0, l = 0;

        long *position = 0;

        do
        {
            i++;
        } while (chaine[i] != '\0');

        do
        {
            j++;
        } while (lettresARechercher[j] != '\0');

        for ( k = 0 ; k < i ; k++)
        {
            for (l = 0 ; l < j ; l++)
            {
                if (chaine[k] == lettresARechercher[l])
                {
                position = &chaine[k];
                return position;
                }
            }
        }
    }



    // Rechercher une chaîne dans une autre

    char* strRecherche3(const char* chaine, const char* chaineARechercher)
    {
        long i = 0, j = 0;

        long *position = 0;

        do
        {
            i++;
        } while (chaine[i] != '\0');

        for ( j = 0 ; j < i ; j++)
        {
            if (chaine[j] == chaineARechercher[0])
            {
                position = &chaine[j];
                return position;
            }
        }
    }
    • Partager sur Facebook
    • Partager sur Twitter
      28 février 2006 à 19:28:53

      Un conseil : lorsque tu calcule la longueur d'une chaine, utilise strlen(), et essaye de faire des boucles for.

      Mais sinon c'est bien.

      ++
      • Partager sur Facebook
      • Partager sur Twitter
        1 mars 2006 à 6:14:00

        Ben en fait je suis un peu neuneu... mais je pensais que comme le but était de réécrire les fonctions sur les chaînes de caractères, il ne fallait pas s'en servir ;)
        • Partager sur Facebook
        • Partager sur Twitter

        Exercices sur les chaînes de caractères

        × 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