Mnożenie liczb wychodzący poza zakres souble

0

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();
}

1

1.FORMATOWANIE KODU.
2.Zrób sobie osobną funkcję od dodawania, a osobną od mnożenia - proste.
3.Napisz to jakoś po ludzku, użyj chociaż struktur...
4.Pomijam oczywiście, że ten kod się nie skompiluje, a nazwy zmiennych w stylu k są idiotyczne.

1 użytkowników online, w tym zalogowanych: 0, gości: 1