Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > массим


Автор: An123 25.4.2010, 19:40
Задаётся последовательность солдат
Они стоят произвольно
Если солдат видит перед собой лицо - то он разварачивается,
если затылок - то остаётся на месте
Все поворачиваются одновременно
Через некоторое количество шагов все устаканивается - то есть каждый видит затылок

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

Может у кого - нить есть похожие задачки или для этой помогите с реализацией

Автор: AzeriSoul 26.4.2010, 04:48
Цитата

Задаётся последовательность солдат
Они стоят произвольно
Если солдат видит перед собой лицо - то он разварачивается,
если затылок - то остаётся на месте
Все поворачиваются одновременно

Нужно два массива.  smile 
Код

0) Вписать входные данные в буфер1
1) По очереди для каждого из солдат в буфере1 сделать отдельно поворот(если требуется), но вписать его в новом повернутом(или таком же) состоянии в буфер2
2) Пройтись по буферу2 и если нет невписавшихся солдат, то перейти к шагу 4
3) Скопировать буфер2 в буфер1, перейти к 1
4) Вывести буфер2
5) Конец



Цитата

Через некоторое количество шагов все устаканивается - то есть каждый видит затылок

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

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)