Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 22.09.2019
Сообщений: 18
1

Квадрат в прямоугольнике

25.10.2019, 19:23. Показов 1303. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задача:
У Вас в руках карта местности, представленная решеткой N*M символов. Выведите прямоугольник - фрагмент этой карты, с левым верхним углом в позиции R,C (R - номер строки, C - номер столбца) с стороной L.


Формат ввода:
N M – количество строк(N) и столбцов(M) (N<=16, M<=20)
s[1] - первая строка карты
s[2] - вторая строка карты
...
s[N] - последняя строка карты
R C L

Формат вывода:
L строк по L символов в каждой

Пример ввода:
5 4
.#..
@...
..#.
@@##
....
3 2 2


Пример вывода:
.#
@#
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.10.2019, 19:23
Ответы с готовыми решениями:

Разместить в большом прямоугольнике прямоугольнике поменьше
Необходимо &quot;упаковать&quot; в большой прямоугольник (в данном случае это модель монтажной платы)...

Картинка в прямоугольнике
Здравствуйте!! Можете дать ответ пожалуйста на 1 вопрос, если сможете. У меня в программе рисуется...

Треугольник в прямоугольнике?
Определить, поместится ли равнобедренный треугольник с основанием c и высотой h в прямоугольник со...

Круг в прямоугольнике
Поместиться ли круг с радиусом р в прямоугольник со сторонами а и в?

1
Модератор
10007 / 5364 / 3338
Регистрация: 17.08.2012
Сообщений: 16,342
26.10.2019, 08:48 2
Лучший ответ Сообщение было отмечено N1NT3NDO как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var
  N, M, R, C, L, i, j:integer;
  s: array[1..16, 1..20] of char;
 
begin
  readln(N, M);
  for i := 1 to N do
    begin
      for j := 1 to M do read(s[i, j]);
      readln
    end;
  readln(R, C, L);
  for i := R to R + L - 1 do
    begin
      for j := C to C + L - 1 do write(s[i][j]);
      writeln
    end
end.
Если использовать массив строк, то программа упрощается, а переменная M становится ненужной.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var
  N, R, C, L, i, j:integer;
  s: array[1..16] of string[20];
 
begin
  readln(N, N);
  for i := 1 to N do readln(s[i]);
  readln(R, C, L);
  for i := R to R + L - 1 do
    begin
      for j := C to C + L - 1 do write(s[i][j]);
      writeln
    end
end.
В программах нет проверки корректности вводимых данных и защиты от выхода индекса за границы массива.
1
26.10.2019, 08:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.10.2019, 08:48
Помогаю со студенческими работами здесь

Прямоугольник в прямоугольнике
У Вас в руках карта местности, представленная решеткой N*M символов. Выведите прямоугольник -...

Прямоугольник в прямоугольнике
Помогите решить задание на паскале используя логические операторы: else и if .

Нарисовать крест в прямоугольнике
В квадрате я нарисовал, а вот в прямоугольнике с неравными сторонами никак не соображу, помогите...

Размещение окружностей в прямоугольнике
Добрый день. Дан прямоугольник шириной W и высотой H. Даны N1 окружностей диаметром D1, N2...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru