Witam, proszę o pomoc w napisaniu programu, który pobiera od użytkownika dwie b.duże liczby, następnie je mnoży i podaje wynik. Program ma pobierać liczby jako string. Mój problem leży w funkcji mnożenia, mianowicie po wymnożeniu (korzystając z algorytmu jak w mnożeniu pod kreską) nie wiem jak dodać do siebie wartości.
Oto co udało mi się napisać:
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include "winbgi2.h"
#include<string.h>
#define roz 10000
char mnoz(char a[],char b[])
{char pom[roz],wyn[roz],c[roz];
int i,j,k=0,na,nb;
na=strlen(a)-1;
nb=strlen(b)-1;
for(i=0;i<na-1;i++)
{
a[i] = a[i] - 48;
}
for(i=0;i<nb-1;i++)
{
a[i] = a[i] - 48;
}
for(i=nb;i>=0;i--){
r=0;
for(j=na;j>=0;j--){
pom[k] = (b[i]*a[j] + r)%10;
r = (b[i]*a[j]+r)/10;
k++;
}
pom[k]=r;
k++; //nie wiem jak uzupełnić funkcję, aby dodawała obliczone do tablicy wartości
void main()
{
char tab1[roz];
char tab2[roz];
char tabw[roz];
int i;
printf("Podaj pierwsza liczbe : ");
scanf("%s",tab1);
printf("Podaj druga liczbe : ");
scanf("%s",tab2);
printf("%s\n",tab1);
printf ("%s", mnoz(tab1,tab2));
wait();
}