Реализация линейных списков с++
Вячеслав Макаров

Помогите реализовать ведение списка забронированных и списка купленных билетов в кинозале кинотеатра. Билет содержит следующие сведения: номер ряда, номер места. Забронированный билет – номер ряда, номер места, фамилию бронирующего.
Список на основе массива
Покупка билета с учетом брони или сразу.
Определение количества свободных мест в указанном ряду
Есть пример реализации несколько функций для работы со списком:
```
typedef int Etype;
typedef short int num; //номер элемента в списке
const int maxlen = 100;
struct LIST
{
Etype elem[maxlen];
num last;
};

bool INSERT(Etype x, num p, LIST *L) //вставляет х в поз. р списка LIST
{
if (p > L->last + 2 || p < 1)
return false;
else if (p < L->last + 2) //вставка не в конец списка
{
for (num i = L->last; i = p - 1; i--) //перемещаем на одну позицию вниз начиная с последнего
L->elem[i + 1] = L->elem[i];
}
L->last++;
L->elem[p + 1] = x;
return true;
}

bool DELETE(num p, LIST *L) //удаляет элемент р списка LIST
{
if (p > L->last + 1 || p < 1)
return false;
else if (p < L->last + 1) //последний элемент списка
{
for (num i = p - 1; i < L->last; i++) //перемещаем на одну позицию вверх
L->elem[i] = L->elem[i + 1];
}
L->last--;
return true;
}

num LOCATE(Etype x, LIST *L)
{
for (num i = 0; i <= L->last; i++)
if (L->elem[i] == x)
return(++i);
return(-1);
}
```

Помогите хотя бы реализовать функцию покупки билета. Я понятия не имею, как её можно реализовать. :(

Вячеслав Макаров около 1 месяца назадСпасибо 0
1 чел.