Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

 

C++ задача със списък

Featured Replies

Здравейте колеги :) . Нужна ми е помощ за следната задача :Да се състави функция за изключване на всички срещания на даден елемент К от кръгов едносвързан (двусвързан) списък с известен указател за вход. Благодаря предварително !

#include <iostream>
using namespace std;

struct node
{
	int data;
	node* next;
	node* previous;
};

node* headtail = 0;
node* conductor = 0;
node* monductor = 0;

void push(int data)
{
	node* mode;
	mode = new node;
	mode->data = data;
	if (headtail == 0)
	{
		headtail = mode;
		mode->next = headtail;
		mode->previous = headtail;
	}
	else
	{
		mode->next = headtail;
		mode->previous = headtail->previous;
		headtail->previous->next = mode;
		headtail->previous = mode;
	}
}

void popall(int data)
{
	if (headtail == 0) return;
	conductor = headtail->next;
	for (;;)
	{
		if (conductor == headtail)
		{
			if (conductor->data != data) return;
			if (conductor->next == headtail)
			{
				headtail = 0;
				delete conductor;
				return;
			}
			conductor->previous->next = conductor->next;
			conductor->next->previous = conductor->previous;
			headtail = conductor->next;
			delete conductor;
			return;
		}
		if (conductor->data == data)
		{
			conductor->previous->next = conductor->next;
			conductor->next->previous = conductor->previous;
			monductor = conductor->next;
			delete conductor;
			conductor = monductor;
			continue;
		}
		conductor = conductor->next;
	}
}

void print(node* headtail)
{
	if (headtail == 0)
	{
		cout << "The list is empty.";
		return;
	}
	cout << headtail->data << " ";
	for (conductor = headtail; conductor->next != headtail; conductor = conductor->next)
	{
		cout << conductor->next->data << " ";
	}
}

int main()
{
	int i;
	for (i = 1; i < 21; i++)
	{
		push(i % 5);
	}
	popall(4);
	print(headtail);
	return 0;
}

 

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    25%
    Дарени 252.69 EUR от нужните 1,000.00 EUR

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.