На складе хранятся коробки с различной техникой, каждая коробка имеет четырехзначный уникальный серийный номер. Разновидности техники:

T – телевизоры

V - видеомагнитофоны

R – радио

F – вентиляторы.

Склад позволяет хранить до N рядов коробок высотой не более M коробок.

Пример склада из 6-ти рядов высотой не более 4 коробок:

[0008,T]

[0007,T]

[0002,T] [0006,T] [0011,T] [0014,T]

[0001,T] [0005,T] [0010,T] [0013,T]

Поступление и расход техники подчиняется следующим правилам:

операции выполняются только над одной коробкой;

взять можно только верхнюю коробку из ряда;

поставить коробку можно на любой незанятый ряд, либо на верхнюю коробку непустого ряда (дополнительные ограничения смотрите в индивидуальных заданиях).

Запрещается создавать коробки, не принадлежащие складу и хранить их вне склада. Массивы коробок и массивы указателей на коробки не создавать. память под коробки должна выделяться динамически.

Режим заполнения склада - startFillingWarehouse(0);

Создать первоначальное состояние склада на основе исходных данных. Исходные данные соответствуют складу, в котором коробки хранятся в беспорядке, т.е. в одном ряду могут находиться коробки с различной техникой (ставить в один ряд коробки с разной техникой разрешается).

После заполнения склада напечатать его «изображение» - showWarehouse();

Режим переноса коробок - startBoxTransferring (0, 0, 0, 0, aTV | aVCR | aRadio | aFan, 0);

Перевернуть коробки в каждом ряду, т.е. поменять местами нижнюю коробку с верхней и т.д. Коробки, не должны храниться вне склада, их можно только переставлять по одной внутри склада.

Если невозможно переставить коробки, напечатать сообщение «no solution»; иначе напечатать изображение склада - showWarehouse();

Режим очистки склада - startEmptyingWarehouse();

Изъять из склада все коробки и уничтожить их.

После очистки склада напечатать его «изображение» - showWarehouse();

Формат входных данных:

[N] [M]

[крайний левый вертикальный ряд]

[промежуточный вертикальный ряд]

[крайний правый вертикальный ряд]

N – кол-во рядов, целое число [1, 10]

M – кол-во коробок в ряду, целое число [1, 10]

Дан код, нужно его переделать и совместить с файлом lib, или же Вы можете написать свой код, как Вам будет удобнее)

Мурик123 Мурик123    3   13.06.2020 19:40    9

Другие вопросы по теме Информатика