Step 6 (S-14703)

From Stepik Wiki
Jump to: navigation, search

Step on Stepik: https://stepik.org/lesson/3369/step/6


Итак, мы с вами разобрали алгоритм, давайте теперь реализуем его. Первым делом мы считываем размеры таблицы и количество мин.

S-14703-1.png

Делаем это с помощью стандартной конструкции (читаем строку, разбиваем ее на части и каждую часть преобразуем в число). Далее мы инициализируем двумерный массив.

S-14703-2.png

Убедимся в том, что наш код правильно работает. Введем значения 7, 8, 10 и выведем значение a.

S-14703-3.png

Программа сгенерировала таблицу в 7 строк и 8 столбцов. Теперь нам нужно прочитать координаты мин и расположить мины в таблице, поместив в соответствующие поля значение "-1".

S-14703-3.1.png

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

S-14703-4.png

Осталось только вывести нашу таблицу.

S-14703-5.png

Проверим работу нашей программы. Введем данные с примера на слайде.

S-14703-6.png

Убеждаемся, что программа вывела ожидаемый результат.