Язык программирования си. С частью задания мне здесь же, но так получилось, что нужна и со 2 частью. Вот такой код мне написать:
#include <stdio. h>
#include <stdlib. h>
#include <string. h>
structure bigint
{
char *data;
size_t size;
int neg;
} bigint;
bigint createBigintFromUnsInt(unsigned long int *n)
{
bigint b = {0};
b. neg = 0;
b. size = 0;
b. data = malloc(sizeof(char));
if (*n == 0)
{
b. size = 1;
b. data[0] = 0;
return b;
}
while (*n > 0)
{
b. data = realloc(b. data, ++b. size*sizeof(char));
b. data[b. size - 1] = *n%10; мой
*n / =10;
}
return b;
}
bigint createBigintFromInt(long int *n)
{
bigint b = {0};
if (*n < 0)
{
b = createBigintFromUnsInt((unsigned long int*)n);
b. neg = 1;
}
else
{
b = createBigintFromUnsInt((unsigned long int*)n);
}
return b;
}
bigint createBigintFromBI(bigint *bi)
{
bigint b = {0};
b. neg = bi->neg;
b. size = bi->size;
b. data = malloc(b. size * sizeof(char));
memcpy(b. data, bi->data, b. size * sizeof(char))
return b;
}
bigint createBigintFromChar(char *str)
{
bigint b = {0};
if (str[0]=='-')
{
b. neg = 1;
str++;
}
else
{
b. neg = 0
}
b. size = strlen(str);
b. data = malloc(b. size * sizeof(char));
for (size_t i =0; i < b. size; i++)
{
b. data[i] = str[b. size - 1 - i] - '0';
}
return b;
}
bigint createBigint()
{
bigint b = {0};
b. neg = 0;
b. size = 1;
b. data = malloc(sizeof(char));
b. data[0] = 0;
return b;
}
(если человек, который мне с написанием первой части это видит мне и со 2, это очень важно)
Другие вопросы по: Информатика
Знаешь правильный ответ?
Язык программирования си. С частью задания мне здесь же, но так получилось, что нужна и со 2 частью....
Популярные вопросы