J'aimerai avoir vos avis s'il vous plaît j'ai essayé tout un tas de tests y compris avec des nombres très grands mais j'imagine que je n'ai pas pu tout anticiper
"115" + "185" ne fait pas 300, ça fait "2:0". Quand j'étais petit (il y a quelques années) on me disait que les additions se posent de la droite vers la gauche, il y avait une bonne raison.
Il a l'air de mieux marcher mais l'addition 1448485445455454477772211546984 + 5544554549595 donne un résultat faux à un chiffre près selon Wolframalpha je ne comprend pas ou est mon erreur, pourriez vous m'aider s'il vous plaît ?
WindowsARencontreUnProblemeEtDoitRedemarrer a écrit:
Mais serait il possible d'avoir un indice de la raison pour laquelle ça ne fonctionne pas s'il vous plaît ?
Oui, tu n'as pas pensé à réserver de la place pour la retenue sur les chiffres les chiffres les plus significatifs. Ici par exemple, ton calloc réserve 4 caractères ce qui n'est pas suffisant si tu veux que la chaine puisse accueillir le zéro terminal.
C'est d'ailleurs pour cela que l'affichage foire car le 1 des milliers a écrasé ce zéro terminal.
WindowsARencontreUnProblemeEtDoitRedemarrer a écrit:
Mais serait il possible d'avoir un indice de la raison pour laquelle ça ne fonctionne pas s'il vous plaît ?
Oui, tu n'as pas pensé à réserver de la place pour la retenue sur les chiffres les chiffres les plus significatifs. Ici par exemple, ton calloc réserve 4 caractères ce qui n'est pas suffisant si tu veux que la chaine puisse accueillir le zéro terminal.
C'est d'ailleurs pour cela que l'affichage foire car le 1 des milliers a écrasé ce zéro terminal.
J'ai rajouté une case mémoire aux lignes 20 et 21 pour pouvoir y stocker le caractère nul
J'ai fais des tests ( Y compris avec des nombres très grands comme 46145645646416132448789845112+64213131646165164656465464456 qui donne le bon résultat )
Mon Code est il donc correct ? ( Outre le fait que la sortie apparaisse encore inversée )
La fonction est de type char* mais ne retourne rien.
De plus, tu devrais "inviter" l'utilisateur à saisir les 2 nombres.
J'avais prévu de rajouter le return une fois que le code afficherait le bon résultat mais il semblerait que ce ne soit pas le cas malheureusement
J'ai essayé avec des nombres de différentes tailles comme 5 et 190 qui me donne 190 je ne comprend pas pourquoi je croyais que je gérais les cas de longueurs diffèrentes ligne 40
WindowsARencontreUnProblemeEtDoitRedemarrer a écrit:
J'ai essayé avec des nombres de différentes tailles comme 5 et 190 qui me donne 190 je ne comprend pas pourquoi je croyais que je gérais les cas de longueurs diffèrentes ligne 40
Bizarre, ton programme m'affiche 951, ce qui correspond bien à 195.
Tu devrais faire un revstr à la fin sur le tableau que tu as utilisé pour stocker les caractères
[Bistromathique] Avis sur ma Somme
× 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.
Me donne 118 ?!?
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
En recherche d'emploi.