Mnożenie liczb wychodzący poza zakres souble

Odpowiedz Nowy wątek
2014-01-10 20:00
Kumpel
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();
}

Pozostało 580 znaków

2014-01-10 20:34
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.


edytowany 2x, ostatnio: Patryk27, 2014-01-10 20:35
i,j,k,na,nb - Od razu widać za co odpowiadają ;] - spartanPAGE 2014-01-10 21:19

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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