Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.05.2010, 18:39   #1
Nostalgy
 
Регистрация: 23.04.2010
Сообщений: 7
По умолчанию Как вставить код в программу?

Есть исходная рабочая программа, которая формирует список из указанного кол-ва элементов:
Код:
struct Node
{
	int	n;
	struct Node *next;
};
class list
{
	Node *First;
	int count;
public:
		list(int k);
		list(const list &list1);

void	print();

~list();
};
#include <iostream>
#include <iomanip>
#include <time.h>


using namespace std;
list::list(int n)
{
	srand((unsigned)time(NULL));
	count = n;
	First=new Node;
	First->n= rand()%1000 - 100;
	Node* l =  First;
	for (int i=0;i<n-1;i++){
		l->next = new Node;
		l = l->next;
		l->n = rand()%1000 - 100;
	}
	l->next = NULL;
}
list::list(const list &list1) {
	First=new Node;
	Node *l=list1.First;
	First->n=l->n;
	First->next=NULL;
	l=l->next;
	Node *sled,*pred=First;
	while(l!=NULL) 	{
		sled=new Node;
		pred->next=sled;
		sled->n=l->n;
		sled->next=NULL;
		l=l->next;
		pred=sled;
	}
	count=list1.count;
}

void list::print()
{
	Node *start=First;
	while(start!=NULL)
	{
		cout<<setw(6)<<start->n;
		start=start->next;
	}
	cout<<endl;
}
list::~list()
{
	Node *start=First,*follow=First;
	while(start!=NULL)
	{
		follow=start;
		start=start->next;
		delete follow;
	}
}


int main()
{
	setlocale(LC_CTYPE,"Russian");
	int g;
	cout << "Введите размерность списка:";
	cin >> g;
	
	list a(g);
	cout << endl << "Список a" << endl;
	a.print();

	list b(a); 
	cout << "Список b создан с помощью конструктора копии"<<endl;
	b.print();
	

	system("pause");
}
Как сюда добавить следующий код, который должен вставлять элемент E2 перед элементов E1? Не понимаю, как сделать чтобы все заработало. Вот код:

Код:
Node_ptr insert_node(Node_ptr p, int E1, int E2)
{
	Node_ptr x=p,pred=NULL;
	while(x!=NULL)
	{
		if(x->a==E1)
		{
			if(pred==NULL)
			{
				Node_ptr n=new node;
				n->a=E2;
				n->next=p;
				p=n;
			}			
			else
			{
				Node_ptr n=new node;
				n->a=E2;
				n->next=x;
				pred->next=n;
			}
		}
		pred=x;
		x=x->next;
	}
	return p;
}
Nostalgy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как можно вставить код C++ в Delphi 7 Владислав Общие вопросы Delphi 7 20.03.2012 20:05
куда вставить код программы делфи Резеда Помощь студентам 9 21.12.2009 12:00
Как вставить таймер в программу если нет формы durexa Помощь студентам 9 25.06.2007 13:13
Как вставить в программу gif-анимацию ? Alar Общие вопросы Delphi 0 29.10.2006 20:51