Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.02.2012, 20:21   #1
daniil123
Пользователь
 
Регистрация: 19.09.2011
Сообщений: 23
По умолчанию Координаты соседей

Для клетки с координатами(x,y)в таблице размером M x N выведите координаты ее соседей. Соседними называются клетки, имеющие общую сторону.
Даны натуральные числа M - количество столбцов, N - количество строк, x -номер столбца, y - номер строки.
В выходной файл выведите пары координат соседей этой клетки в произвольном порядке. В каждой паре вначале выводите номер столбца, а затем номер строки.
Пример:
Вход:
3 3
2 2
Выход:
1 2
2 1
2 3
3 2
daniil123 вне форума Ответить с цитированием
Старый 06.02.2012, 20:34   #2
skyll
Пользователь
 
Регистрация: 05.02.2012
Сообщений: 28
По умолчанию

И что тут сложного? Какой вообще смысл? Да и зачем массив?)

Код:
program prg;
uses crt;
const
     wid = 10;
     hei = 10;
var
   ar: array [1..hei, 1..wid] of integer;
   x, y: integer;
begin
     write('x: ');
     readln(x);
     write('y: ');
     readln(y);
     
     writeln(x,' ', y - 1);
     writeln(x - 1,' ', y);
     writeln(x + 1,' ', y);
     writeln(x,' ', y + 1);
end.
Вот если нужно сравнивать элементы:

Код:
program prg;
uses crt;
const
     wid = 10;
     hei = 10;
var
   ar: array [1..hei, 1..wid] of integer;
   x, y, j, i: integer;
begin
     write('x: ');
     readln(x);
     write('y: ');
     readln(y);
     
     for j := 1 to hei do
         for i := 1 to wid do begin
             if (((i = x + 1) and (j = y) or ((i = x - 1) and (j = y))
                 or ((i = x ) and (j = y + 1)) or ((i = x) and (j = y - 1)))) then

                writeln(j, ' ', i);
         end;
end.

Последний раз редактировалось skyll; 06.02.2012 в 20:44.
skyll вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести название соответствующей карты вида "шестерка бубен", "дама червей","туз треф" и т.п. воваава Помощь студентам 3 01.12.2011 12:50
Как обойти "преобразование типа из "string" в "float" невозможно" lexluter1988 Помощь студентам 1 07.08.2010 12:23
комментарии "сапер" Katushka_88_88 Помощь студентам 0 17.05.2010 14:15
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04