J_r_m
Messages postés5Date d'inscriptionsamedi 15 mai 2004StatutMembreDernière intervention16 mai 2004
-
16 mai 2004 à 18:09
J_r_m
Messages postés5Date d'inscriptionsamedi 15 mai 2004StatutMembreDernière intervention16 mai 2004
-
16 mai 2004 à 23:42
Salut @ tous !!!
Je suis debutant en C, et je voudrais pouvoir multiplier deux "grands" nombres de plus de dix chiffres en base 10.
Je pensais donc mettre les 2 nombres dans 2 tableaux, tels que par exemple, pour A=156 et B=589, T1={1,5,6} et T2={5,8,9}.
Mon premier problème se pose. Je ne sais pas trop comment faire en sorte que le contenu des tableaux soit des entier et non des caractères.
Je voudait donc convertir des tableaux, qui au depart sont des chaines de caractères, en tableaux d'entiers, pour que dans T1 : 1, 5, 6 soient bien des entiers.
Après ça, je ne sait pas coment faire la multiplication des deux tableaux cases par cases afin d'obtenir le resultat de la multiplication de A*B, dans un troisième tableau.
Si vous pouviez maider en m'expliquant clairement, ce serait super sympa.
Merci d'avance. :)
J_r_m
Messages postés5Date d'inscriptionsamedi 15 mai 2004StatutMembreDernière intervention16 mai 2004 16 mai 2004 à 19:15
Merci pour t'as réponse, super rapide !
Mais, euh... tu pourrait etre un peu plus clair :big) ?
Je debute et j'ai pas bien compris.
C'est une fonction ? On peut aller jusqu'a des nombres (presque) infinis ?
J_r_m
Messages postés5Date d'inscriptionsamedi 15 mai 2004StatutMembreDernière intervention16 mai 2004 16 mai 2004 à 23:30
Merci, mais, dsl de dire ça, je voudrais pas etre chiant.
En fait, c'est un programme que je dois faire pour l'ecole, et donc je pe pas me servir de choses comment "__m128", car sinon je respecte pas la consigne.
Alors si vous pouviez me donner des astuces ou des morceaux de sources que je pourrait utiliser facilment pour ce que j'ai a faire ce serait sympa (pke ce que vous m'avez donné, comme BigInt,.. je c pas comment les utiliser).
Pour l'instant g commencé a ecrire le programme, et ça devrait pouvoir convertir un tableu de caractères en un tableau d'entiers (mais je suis sur que c bouré de fautes, et que je m'y prends mal) :
main()
{
int i,j;
int *tab;
long nb;
char *T2,**p;
char *T1;
scanf("%d",T1);
T2 = (char *) malloc (10000 * sizeof(char));
for(i=0,j=0;i=strlen(T1)/4;i++,j=j+4)
{
strncpy(T2,&T1[j],4); // je divise la chaine de caractères en paquets de chaines de 4 caractères
T2[j+4]='\0';
nb=strtol(T2,p,10); // je transforme chaque paquet en long
tab[j+3]=nb%10; // je place chaque chiffre de chaque nombre dans chaque case d'un tableau
tab[j+2]=((nb)%100)/10;
tab[j+1]=((nb)%1000)/100;
tab[j]=((nb)%10000)/1000;
}
system("pause");
}