Форум программистов, компьютерный форум, киберфорум
Наши страницы
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/10: Рейтинг темы: голосов - 10, средняя оценка - 4.50
qwertyo
25 / 25 / 28
Регистрация: 20.03.2011
Сообщений: 150
1

"Сапер"

06.02.2012, 20:20. Просмотров 1845. Ответов 1
Метки нет (Все метки)

Все Вы хорошо знаете стандартную игру "Сапер". Дан список мин. Требуется составить поле для игры в сапер.
Даны числа N и M(целые, положительные, не превышают 32) - количество строк и столбцов в поле соответственно, далее число W(целое, неотрицательное, не более 1000) - количество мин на поле, далее следует W пар чисел, координаты мины на поле(первое число - строка, второе число - столбец).
Требуется вывести на экран поле. Формат вывода указан в примере. Обратите внимание на наличие пробелов между элементами.
Пример:
Вход:
3 2
2
1 1
2 2
Выход:
* 2
2 *
1 1
Вход:
2 2
0
Выход:
0 0
0 0
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2012, 20:20
Ответы с готовыми решениями:

Исправить ошибки в игре "Сапер"
uses crt,dos; const NMaxX=40; NMaxY=25; Level:array of byte =...

Составить фразу "письменный стол" из слов "тесненный", "полка", "речь", "миф".
1) Составить фразу "письменный стол" из слов "тесненный", "полка", "речь",...

Составить фразу "текстовый редактор" из слов "тесто", "редакция", "мотор", "который"
1) Составить фразу "текстовый редактор" из слов "тесто", "редакция", "мотор",...

Составить фразу "программное обеспечение" из слов "программист", "оборот", "анчоус", "измерение"
Составить фразу "программное обеспечение" из слов "программист", "оборот",...

Заменить символы "1", "2", "3" словами "один", "два", "три"
Дана строка символов. Заменить символы "1", "2", "3" словами "один", "два",...

1
I2um1
Злой няш
1408 / 1106 / 374
Регистрация: 05.04.2010
Сообщений: 1,949
06.02.2012, 21:50 2
Лучший ответ Сообщение было отмечено как решение

Решение

Алгоритм такой, что в начале создается поле чуть больше, чем 32 на 32, чтобы не было лишних проверок выхода за границу массива. После чего, во время ввода координаты бомбы, вокруг этой бомбы все клетки увеличивают свое значение на единицу.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
const bomb = -1;
var n, m, w : integer; field : array[0..33, 0..33] of integer;
 
procedure IncreaseCounter(x, y : integer);
   begin
      if field[x, y] <> bomb then inc(field[x, y])
   end;
 
procedure SetBomb(x, y : integer);
   var i : integer;
   begin
      field[x, y] := bomb;
      for i := -1 to 1 do begin
         IncreaseCounter(x - 1, y + i);
         IncreaseCounter(x + 1, y + i)
      end;
      IncreaseCounter(x, y - 1);
      IncreaseCounter(x, y + 1)
   end;
   
procedure PrintPoint(x, y : integer);
   begin
      if field[x, y] = bomb then write('*')
      else write(field[x, y])
   end;
 
procedure PrintField;
   begin
      for n := 1 to n do begin
         for m := 1 to m do begin
            PrintPoint(n, m);
            write(' ')
         end;
         writeln
      end
   end;
 
var x, y : integer;
begin
   readln(n, m);
   readln(w);
   for w := 1 to w do begin
      readln(x, y);
      SetBomb(x, y)
   end;
   PrintField
end.
3
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.02.2012, 21:50

Составить програму, которая б после каждой буквы "е" в данном слове дописывала букву "о" и меняла словосочетание "да" на "нет"
Составить програму, которая б после каждой буквы &quot;е&quot; в данном слове дописывала...

Проверить слово "Дом" и содержит ли оно буквы: "а" , "б" ,"о","д"
программа должна проверить слово &quot;Дом&quot; и содержит ли оно буквы: &quot;а&quot; , &quot;б&quot;...

Составить программу, которая из слов "мышь", " сканер", "слива" получает слово "клавиша"
Помогите пожалуйста. Необходимо составить программу, которая: из слов &quot;мышь&quot;,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru