Форум программистов, компьютерный форум CyberForum.ru

Реализовать ведение списка на основе массива - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Для чего в С+ имеется два способа работы с файлами? http://www.cyberforum.ru/cpp-beginners/thread1842339.html
сегодня узнал, что с файлами можно работать не только с типом FILE но и с помощью классов в <fstream>. Вопрос такой: В чем разница? Чем пользоваться, если мне всего-то надо считывать по символу с текстового файла?
C++ Quick sort using vectors Now that you have learned about three sorting algorithms with quadratic time complexity (Bubble, (./selection) and Insertion sorts) you should be curious, whether it is possible to perform the task significantly faster. The problem is that if these algorithms solrt 10000 elements in a second, then they will sort 100 times more elements (one million) in about 100*100 longer time, i.e. several... http://www.cyberforum.ru/cpp-beginners/thread1842331.html
Сортировка Шелла C++
Здравствуйте. Решил сравнить скорость действия сортировки Шелла с различными последовательностями длин промежутков между элементами. Но реализация сортировки Шелла с последовательностью Хиббарда по скорости уступает обычной сортировке. Напомню, в обычно сортировке Шелла последовательность промежутков между элементами - {d}_{i} = \frac{N}{{2}^{i}} , где N - число элементов. Сортировка с...
В заданной квадратной матрице поменять указанные строки местами C++
Дана целочисленная квадратная матрица порядка n. Переставить строки в порядке убывания сумм элементов. Суммы строк выводить вместе со строками. Матрицу сформировать из случайных чисел в диапазоне от –10 до 10. Вот моё начало. Не могу понять как можно менять строки. #include <iostream> #include <ctime> using namespace std; int main() { int i, j, mass, n,sum=0;
C++ Почему мы не разыменовываем указатель на элемент массива? http://www.cyberforum.ru/cpp-beginners/thread1842312.html
int *ptrarray = new int ; for (int i = 0; i < 10; i++) { ptrarray = i; cout << ptrarray << " "; } delete ptrarray; Почему не правильна инструкция *ptrarray = i; Ведь чтобы "кинуть" какое-то значение в ячейку динам.памяти,которая находится по адресу,на который ссылается указатель,нужно его сначала разыменовать.
C++ Построить бинарное дерево по формуле Добрый день. Задача состоит в следующем: - ввести формулу, например A*(B-C)/D^G - перевести формулу в постфиксный и префиксный вариант, вывести в консоль - построить дерево по постфиксному представлению формулы и вывести его в консоль - ввести значения для каждого операнда, посчитать результат по формуле, вывести на экран Кто-то может подсобить с кодом? подробнее

Показать сообщение отдельно
Konigin
0 / 0 / 0
Регистрация: 10.01.2016
Сообщений: 29
05.11.2016, 10:49     Реализовать ведение списка на основе массива
Помогите реализовать ведение списка забронированных и списка купленных билетов в кинозале кинотеатра. Билет содержит следующие сведения: номер ряда, номер места. Забронированный билет – номер ряда, номер места, фамилию бронирующего.
  • Список на основе массива
  • Покупка билета с учетом брони или сразу.
  • Определение количества свободных мест в указанном ряду

Добавлено через 15 часов 45 минут
Есть пример реализации несколько функций для работы со списком:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
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);
}


Добавлено через 2 часа 14 минут
Помогите хотя бы реализовать функцию покупки билета. Я понятия не имею, как её можно реализовать.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 08:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru