Skip to content

Commit 9f0856b

Browse files
Code: added code for 101-mul.c
1 parent 8912e5c commit 9f0856b

File tree

2 files changed

+0
-13
lines changed

2 files changed

+0
-13
lines changed

0x0C-more_malloc_free/101-mul

16.6 KB
Binary file not shown.

0x0C-more_malloc_free/101-mul.c

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -69,53 +69,40 @@ int main(int argc, char *argv[])
6969
int len1, len2, len, i, carry, digit1, digit2, *result, a = 0;
7070

7171
s1 = argv[1], s2 = argv[2];
72-
7372
if (argc != 3 || !is_digit(s1) || !is_digit(s2))
7473
errors();
75-
7674
len1 = _strlen(s1);
7775
len2 = _strlen(s2);
7876
len = len1 + len2 + 1;
79-
8077
result = malloc(sizeof(int) * len);
81-
8278
if (!result)
8379
return (1);
84-
8580
for (i = 0; i <= len1 + len2; i++)
8681
result[i] = 0;
87-
8882
for (len1 = len1 - 1; len1 >= 0; len1--)
8983
{
9084
digit1 = s1[len1] - '0';
9185
carry = 0;
92-
9386
for (len2 = _strlen(s2) - 1; len2 >= 0; len2--)
9487
{
9588
digit2 = s2[len2] - '0';
9689
carry += result[len1 + len2 + 1] + (digit1 * digit2);
9790
result[len1 + len2 + 1] = carry % 10;
9891
carry /= 10;
9992
}
100-
10193
if (carry > 0)
10294
result[len1 + len2 + 1] += carry;
10395
}
104-
10596
for (i = 0; i < len - 1; i++)
10697
{
10798
if (result[i])
10899
a = 1;
109-
110100
if (a)
111101
_putchar(result[i] + '0');
112102
}
113-
114103
if (!a)
115104
_putchar('0');
116-
117105
_putchar('\n');
118-
119106
free(result);
120107
return (0);
121108
}

0 commit comments

Comments
 (0)