Помогите, пожалуйста, с кодом

я написал код создания большого числа, не могу понять что делать дальше, поэтому прошу помощи… вот код, который я написал, то что закомментировано это попытки решения данной задачи

вот само задание
![][1]

#include <iostream>

include <string.h>

include <conio.h>

include<cmath>

using namespace std;
struct bignumber // описание узла
{
short digit; // цифра
bignumber *next; // поле для связи со следующей цифрой числа
};

bignumber * create(char str) // создание большого числа из текстовой строки
{
bignumber
p, *top = NULL;
int i;
for (i = 0; i<strlen(str); i++)
{
p = new bignumber;
p->digit = short(str[i]) — short('0');
p->next = top;
top = p;
}
return top;
}

void print(const bignumber * first) // рекурсивная распечатка цифр числа
{
if (first != NULL) // если ещё не конец числа
{
print(first->next); //вызываем печать для старшего разряда
cout << first->digit; //печать текущего разряда
}
}

void clear(bignumber first) // очистка стека (удаление всех узлов из стека)
{
bignumber
temp;
while (
first != NULL) // пока не достигли конца
{
temp = (first)->next; // устанавливаем указатель temp на следующий элемент
delete
first;
first= temp; // переводим указатель на следующий элемент
}
}
/

void input_list(bignumber &first)
{
int n;
first = new bignumber;
first->digit = pow(1, 2);
bignumber
q = first;
for (int i = 2; i <= n ; i++)
{
q->next = new bignumber;
q = q->next;
q->digit = pow(i, 2);
}
q->next = 0;
}

void print_sum(bignumber q)
{
unsigned long long sum=0;
while (q)
{
sum+=q->digit;
q = q->next;
}
cout <<«sum = »<<sum<< endl;
}
/
int main()
{
setlocale(LC_ALL, «Russian»);
bignumber *first = 0;
char n[256];
cout << «Введите большое число» << endl;
cin >> n;
first = create(n);
cout << «Введенное число:» << endl;
print(first); // распечатка большого числа
cout << endl;
//input_list(first);
//print_sum(first);
cin.get();
clear(&first); // очистка
}

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.