Задача "Морской бой" а так же небольшой флеш моб - QBasic

Узнай цену своей работы

Формулировка задачи:

Условие: Вася и Петя на уроке информатики играют в «морской бой». Вася уже разместил некоторое количество своих кораблей и теперь выбирает место для очередного корабля. Но сначала он хочет знать – сколько всего вариантов размещения этого корабля у него есть. Напишите программу, дающую ответ на этот вопрос. Вход: В первой строке входного файла записаны два целых числа H и W – размеры поля (1 <= H, W <= 100). В следующих H строках, содержащих по W символов каждая, представлено игровое поле с уже размещёнными кораблями. Свободные клетки обозначены символами “.” (точка), а клетки, занятые кораблями – символами “#”. В последней строке файла записано целое число K – размер корабля, который хочет разместить Вася (1 <= K <= 100). Замечание Вася и Петя играют в «продвинутый морской бой». В отличие от классического варианта в этой игре на игровом поле можно размещать любое количество кораблей любого размера, причём корабли могут касаться границ поля и друг друга. Но корабль размером K, так же, как в классическом варианте, есть вертикальный или горизонтальный прямоугольник размером K ? 1. Выход: Запишите в выходной файл количество различных вариантов размещения корабля. Интересен больше алгоритм решение, чем сам код программы. Флеш моб: Карандаша выкладывала задачку про симметричную последовательность. Суть была такая, что нужно дописать символов к данным цифрам, что бы получился палиндром. Алгоритм- Возможны два случая, либо нужно дописывать это же число с самого его начала, при этом после каждого добавленного символа проверять полученный текст на *палиндромность*. Либо удалить все равные друг другу символы с конца и приписывать это же число но в обратном порядке. Как-то так. Проблема решения в том, что я не знаю как пользоваться оператором Function. допустим функция проверки на *палиндромность.*как она будет выглядеть? и как ей пользоваться?Не, какое-то подобие я написал , вот только не знаю как добавить ее в основную программу и как дальше использовать. Допустим
Листинг программы
  1. FUNCTION polik (Q$)
  2. FOR I=1 TO LEN(Q$)/2
  3. IF MID$(a$, i, 1) <> MID$(a$, LEN(a$) - i + 1, 1) THEN S = 1: EXIT FOR
  4. NEXT
  5. IF S=0 THEN polik=1 ELSE polik=0
  6. END FUNCTION
вот, после того как я набрал весь текст функции что нужно сделать, что бы добавить ее в программу? и как ее использовать.Правильный ли вообще алгоритм решения? Нуждается скорее в обсуждении чем в коде с решением))

Решение задачи: «Задача "Морской бой" а так же небольшой флеш моб»

textual
Листинг программы
  1. DECLARE FUNCTION polik (Q$)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.231 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут