Написать код на C++

Срочно
Отменен
Заказ
4840672
Раздел
Программирование
Предмет
Visual C++
Антиплагиат
Не указан
Срок сдачи
30 Мая 2022 в 17:15
Цена
800 ₽
Блокировка
10 дней
Размещен
30 Мая 2022 в 11:59
Просмотров
271
Описание работы

Здравствуйте. Прошу помочь реализовать следующую задачу:

P.S. Если считаете что мой ценник низкий для такой задачи, то пожалуйста предложите свой вариант стоимости.

Задача:

Имеется стена, состоящая из кирпичей. При этом каждый кирпич точно укладывается на нижележащий. Каждый кирпич помечен уникальным номером. Кроме того, кирпичи могут быть из разного материала:

L – глина

S - камень

C – бетон

Пример недостроенной стены, состоящей из 4-x горизонтальных слоев и 5-ти вертикальных рядов:

[ 8,L] 

[ 7,L] 

[ 2,L] [ 6,L][11,L][14,L]

[ 1,L][ 4,L][ 5,L][10,L][13,L]

Самый нижний слой стены называется фундаментом.

Стену можно разбирать и достраивать по одному кирпичу по следующим правилам:

новый вертикальный ряд можно строить только с правой стороны стены;

новый кирпич укладывается только на самый верхний кирпич в ряду;

кирпич вынимается из стены, только если он самый верхний в ряду и не принадлежит фундаменту;

из фундамента вынимается только самый правый кирпич, если он единственный в вертикальном ряду.

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

Режим строительства стены - startWallBuilding(mLoam | mStone, CH); (где CH – см. входные данные)

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

Чтобы ряд не обрушился, он не должен возвышаться над соседними рядами более чем на CH кирпичей.

По окончанию строительства стены напечатать ее «изображение» - showBrickWall();

Режим перестройки стены - startRebuild(mConcrete, mLoam, mStone);

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

По окончанию перестройки стены напечатать ее «изображение» - showBrickWall();

Режим разбора стены - startWallDestroying ();

Разобрать стену, уничтожив все кирпичи.

По окончанию разбора стены напечатать ее «изображение» -showBrickWall();

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

[CH]

[W]

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

......

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

......

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

CH - максимальная разность высот соседних рядов, при которых ряд не обрушается, целое число [3, 10]

W – ширина стены, целое число [1, 10]

Нужна такая же работа?
  • Разместите заказ
  • Выберите исполнителя
  • Получите результат
Гарантия на работу1 год
Средний балл4.53
СтоимостьНазначаете сами
ЭкспертВыбираете сами
Уникальность работыот 70%
Нужна аналогичная работа?
Оформи быстрый заказ и узнай стоимость
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Прямой эфир