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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2016, 22:11   #11
ANTON255200
Пользователь
 
Регистрация: 09.12.2012
Сообщений: 15
По умолчанию

Цитата:
Сообщение от ura_111 Посмотреть сообщение
А что такое: "сдать в систему"
На сервере лежит некий набор тестов, на которых проверяется программа, с ограничениями по времени и памяти. Для сдачи нужно, чтобы она прошла все тесты.
ANTON255200 вне форума Ответить с цитированием
Старый 06.12.2016, 09:40   #12
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

А ну, попробуй:


Код:
#include <iostream>
#include <cstdlib>
#include <cstring>
using namespace std;

struct node
 {
	long value;
	struct node* prev = NULL;
};

node* enqueue(node* q);
node* dequeue(node* p);
void front(node* p);
void size(node* p);
node* clear(node* p);

int main()
 { 
	 node* q = NULL;
	 char command[8];

	 while (true)		 
	 {
		 cout << "Command(dla vuhoda - exit): ";
		 cin >> command;
		 
		 if (strcmp(command, "enqueue") == 0)
		 {
			 q = enqueue(q);
		 }
		 
		 if (strcmp(command, "dequeue") == 0)
		 {
			 q = dequeue(q);
		 }

		 if (strcmp(command, "front") == 0)
		 {
			 front(q);
		 }

		 if (strcmp(command, "size") == 0)
		 {
			 size(q);
		 }
		 if (strcmp(command, "clear") == 0)
		 {
			 q = clear(q);
		 }

		 if (strcmp(command, "exit") == 0)
		 {
			 break;
		 }
		 fflush(stdin);
	 }
	 return 0;
 }
  
node* enqueue(node* p)
{
	int n;
	cout << "n= ";
	cin >> n;
	if (p == NULL)
	{
		p = new node;
		p->value = n;
		cout << "ok" << endl << endl;
		return p;
	}
	else
	{
		node* new_node = new node;
		new_node->value = n;
		new_node->prev = p;
		cout << "ok" << endl << endl;
		return new_node;
	}	
}

node* dequeue(node* p)
{
	if (p != NULL)
	{
		node* delete_node = p->prev;		
		cout << "delete: " << p->value << endl << endl;
		delete p;
		return delete_node;
	}
	else
	{
		cout << "error" << endl << endl;
		return NULL;
	}
}

void front(node* p)
{
	if (p != NULL)
	{
		while (p->prev != NULL)
		{
			p = p->prev;
		}
		cout << "pervoe= " << p->value << endl << endl;
	}
	else
	{
		cout << "error" << endl << endl;
	}
}

void size(node* p)
{
	int kol = 0;
	while (p != NULL)
	{
		kol++;
		p = p->prev;
	}
	cout << "kolihestvo= " << kol << endl << endl;
}

node* clear(node* p)
{
	node* delete_node;
	while (p!= NULL)
	{
		delete_node = p;
		p = p->prev;
		delete delete_node;
	}
	cout << "ok" << endl << endl;
	return NULL;
}
ura_111 вне форума Ответить с цитированием
Старый 06.12.2016, 13:07   #13
ANTON255200
Пользователь
 
Регистрация: 09.12.2012
Сообщений: 15
По умолчанию

Спасибо за ответы, реализовал через класс, и все зашло.
ANTON255200 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Связный список InKo1 Помощь студентам 0 22.12.2011 02:08
Связный список GripEnemy Visual C++ 2 08.12.2011 16:19
Связный список batman01 Общие вопросы C/C++ 1 15.10.2011 01:31
связный список xeops Visual C++ 6 30.09.2011 09:39
Связный список С++ Шёпот Общие вопросы C/C++ 2 01.04.2011 22:56