Partage
  • Partager sur Facebook
  • Partager sur Twitter

Somme en chaîne de caractère

    27 octobre 2019 à 11:13:52

    #include <stdlib.h>
    #include <stdio.h>
    #include <string.h>
    
    #ifndef MAX
    #  define MAX(a,b)  ((a) > (b)? (a) : (b))
    #endif
    
    char *strSum(char *str1, char *str2)
    {
        int i = strlen(str1);
        int j = strlen(str2);
        int ri = MAX(i,j)+2;
        char carry = 0;
    
        char *result = malloc(sizeof(char) * ri);
        ri--;
        result[ri]='\0';
        i--;
        j--;
        ri--;
    
        while(i>=0 || j >= 0)
        {
            result[ri] = str1[i]*(i>=0) + str2[j]*(j>=0) + carry - '0'*(i>=0&&j>=0);
            if(result[ri] >'9')
            {
                result[ri] = result[ri]-10;
                carry = 1;
            }
            else carry = 0;
            i--;
            j--;
            ri--;
        }
    
        if(carry==1)result[ri]=carry+'0';
        else result[ri] = '\b';
    
        return result;
    }
    
    int main(void)
    {
        char *result = strSum("65465456465454654", "684984165498654545641515");
    
        puts(result);
        free(result);
    
        return 0;
    }

    Y a t'il des amélioration à faire ?

    • Partager sur Facebook
    • Partager sur Twitter
      27 octobre 2019 à 11:21:28

      Bonjour,

      Manque de Politesse

      Votre message ne comporte pas ou peu de formules de politesse (« Bonjour », « Merci », « Au revoir », etc.). Les règles du site exigent que chaque nouveau message comporte un minimum de politesse. Après tout, les gens qui répondent le font gratuitement, sur leur temps libre. Ils méritent bien un minimum de considération, n'est-ce pas ?

      Liens conseillés

      • Partager sur Facebook
      • Partager sur Twitter

      Somme en chaîne de caractère

      × 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