Прехвърляне към съдържание


Снимка

Въпрос за свързан списък C++

списък c++ едносвързан свързан

  • Моля, влезте, за да отговорите
Няма отговори по тази тема

#1 m.dimitrov

m.dimitrov

    Потребител

  • Потребители
  • ПипПипПипПипПипПип
  • 1 мнения

Публикувано: 08 January 2019 - 16:22

Здравейте, имам ето това задание:

 

Големи числа се наричат цели положителни числа с К цифри. Големите цели числа могат да се представят с помощта на линеен едносвързан списък, всеки елемент на който съдържа точно една цифра от числото. Дадени са две големи цели числа N1 и N2 (до 100 цифри). Да се напишат програмни фрагменти за :

          a. Представяне на числата чрез списъци;

          b. Сумиране на две големи цели числа.

 

Бях го направил с две функции create1 и create2 и две променливи N1 и N2, но професорката иска да е само един и колкото числа искам да въведа толкова пъти да извикам един и същ create. Опитах по този начин но при започване на въвеждането на второто число програмата блокира. Бих бил благодарен ако някой помогне.

 

Ето и до къде съм стигнал.

#include <iostream>
using namespace std;

struct chislo{
	int N;
	chislo* next;
};
typedef chislo* Point;
Point Head;

void Create(Point &Head) {
	Point	Last, P; Last=NULL;
	int brc=0;
	int br=0;
	cout<<"Колко цифри ще е числото?: ";
	cin>>br;
	while (brc != br) {
		P = new chislo;
		brc++;
		cout << brc <<" цифра на числото: ";
		cin >> P->N;
		P->next=NULL;
        if (Head == NULL) 	Head = P;
	    else	Last->next = P;
        Last = P;
	}
}

 void Traverse(Point P){
 cout<<"Числото е:";
	 while (P !=NULL) {
        cout<<P->N;
     P = P->next;  
		}
 cout<<endl;
}

int main() {
	system("chcp 1251");
	Point Head = NULL;
	Create(Head);
	Create(Head);
	Traverse(Head);
	Traverse(Head);
}

Благодаря предварително







Други теми с тагове списък, c++, едносвързан, свързан

0 потребители четат тази тема

0 регистрирани потребители, 0 гости и 0 анонимни потребители