Форум сайта python.su
Приветствую гуру форума,
Я новичок, Интересует как можно написать программу которая подсчитает количество кораблей на поле “морского боя”.
Отредактировано art1390 (Фев. 11, 2017 16:17:50)
Прикреплённый файлы:
1.jpeg (91,9 KБ)
Офлайн
221
это мягко говоря зависит от реализации … всего
Офлайн
JOHN_16Поподробнее…
это мягко говоря зависит от реализации … всего
Офлайн
9
art1390Распишите подробно ваш вопрос, а то он звучит примерно так:
Поподробнее…
Офлайн
0
Создаешь переменную-счетчик а, которая будет считать кол-во кораблей, создаешь двумерный массив 10х10,заполняешь его 0/1 где 0-пустая клетка, 1-клетка, где расположена часть коробля, потом с начала по конец массива ищешь первую попавшуюся клетку со значением 1. Пересматриваешь все оружщие ее клетки(кроме диагональных),когда находится еденица, переходишь на нее, присваивая старой значение нуля, и так до тех пор пока корабль не законится; а+=1. Начинаешь алгоритм заново.
По моему скромному мнению в программе будет не более 2-3 циклов
Можно еще регулркой воспользваться, но если знаешь, конечно, как.
ps
все это лишь идея создания кода, скорее всего есть путь написать его проще
Отредактировано recidivist (Фев. 12, 2017 21:35:17)
Офлайн
recidivist
Создаешь переменную-счетчик а, которая будет считать кол-во кораблей, создаешь двумерный массив 10х10,заполняешь его 0/1 где 0-пустая клетка, 1-клетка, где расположена часть коробля, потом с начала по конец массива ищешь первую попавшуюся клетку со значением 1. Пересматриваешь все оружщие ее клетки(кроме диагональных),когда находится еденица, переходишь на нее, присваивая старой значение нуля, и так до тех пор пока корабль не законится; а+=1. Начинаешь алгоритм заново.По моему скромному мнению в программе будет не более 2-3 цикловМожно еще регулркой воспользваться, но если знаешь, конечно, как.psвсе это лишь идея создания кода, скорее всего есть путь написать его проще
Офлайн
0
Ну если тебе не лень, то наверно можно. Код в принципе легкий
Прикреплённый файлы:
image.jpg (64,4 KБ)
Офлайн
0
А корабли на поле обязательно все нужно разместить?
Если да, то просто
print(10)
Отредактировано recidivist (Фев. 12, 2017 22:44:11)
Офлайн