merci beaucoup pour vos réponses
*pour mr pop70 je n'ai pas compris beaucoup de ce que tu as écrit parce que je connais pas le c++.
*et pour tpoinsot le problème de for je l'ai réglé j'ai juste inverser le signe > mais le programme ne marche pas
_pour le nombre de caracteres contenus dans ch il'est envoyé a la fonction convertir par le programme principale et il est affectée au variable n.
-merci pour la remarque de printf vous m'avez sauvez
-je n'ai pas bien compris pour quoi je doit faire la multiplication et le reste
je vais vous ré-expliquer le principe
je doit lire les deux chiffres en tant que chaine de caractères puis convertir les quatre derniers chiffres de chaque nombre en entier a l'aide de la fonction atoi puis les additionner et maitre les quatre derniers chiffres du résultat dans un tableau d'entier et ajouter ce qui reste au résultat de l'addition du quatre chiffres suivants et refaire la même chose jusqu'à la fin et enfin afficher le tableau inversé
si vous pouvez m'aider parce que mon programme ne fonctionne toujours pas
le voici apres avoir couriger les faute que j'ai trouvé
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
int convertir(char *ch,int n);
main()
{char ch1[40],ch2[40];
int nb1,nb2,n,m,i=9,cos=0,max,t[10]={0};
printf("entrer le premier nombre:");
scanf("%s",ch1);n=strlen(ch1);
printf("entrer le deuxieme nombre:");
scanf("%s",ch2);m=strlen(ch2);
max=(n>m)?n:m;
while(max>0)
{nb1=convertir(ch1,n);
nb2=convertir(ch2,m);
t[i]=(nb1+nb2+cos)%10000;//pour que la case ne contient que 4 chiffre
cos=(nb1+nb2+cos)/10000;/*c'est le reste qui doit être ajouter a la case suivante du tableau*/
n=n-4;i--;
m=m-4;
max=max-4;
}
for(i=0;i<10;i++)
printf("%4d",t[i]);
getch();
}
int convertir(char *ch,int n)
{int i,j=3,nb=0;
char temp[5]={0};
if(n>0)
{
for(i=n-1;i>=n-5;i--)
{temp[j]=ch[i];
j--;
}
temp[4]='\0';nb=atoi(temp);
}
return(nb);
}
et merci encore une fois