Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 3 906

/ вопрос открыт /

Здравствуйте, уважаемые эксперты! Помогите пожалуйста решить такую задачу (см. приложение). Сам пробовал никак не получается. Помогите пожалуйста!

Приложение:
  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17. 12.11.10.9..24
  18. 13..2..1.8..23
  19. 14..3..0..7.22
  20. 15..4..5..6.21
  21. 16.17.18.19.20


prog-mer Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: prog-mer (статус: Посетитель)
Вопрос отправлен: 20 марта 2010, 20:58
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: Паровоз

Здравствуйте, prog-mer!

program Prog;
 
{$APPTYPE CONSOLE}
 
uses SysUtils;
 
const
  n=2;
 
var
  i,j,s:Integer;
  a,b:array[1..2*n+1,1..2*n+1] of Integer;
  ss,st:String;
 
begin
  for i:=1 to 2*n+1 do for j:=1 to 2*n+1 do b[i,j]:=0;
  a[n+1,n+1]:=0;a[n,n+1]:=1;
  b[n+1,n+1]:=1;b[n,n+1]:=1;
  i:=n;j:=n+1;s:=1;
  repeat
    inc(s);
    if (i<n+1)and(j=n+1) then dec(j) else
    if (i<n+1)and(j<n+1) then
      if b[i+1,j]=0 then inc(i) else dec(j) else
    if (i=n+1)and(j<n+1) then inc(i) else
    if (i>n+1)and(j<n+1) then
      if b[i,j+1]=0 then inc(j) else inc(i) else
    if (i>n+1)and(j=n+1) then inc(j) else
    if (i>n+1)and(j>n+1) then
      if b[i-1,j]=0 then dec(i) else inc(j) else
    if (i=n+1)and(j>n+1) then dec(i) else
    if (i<n+1)and(j>n+1) then
      if b[i,j-1]=0 then dec(j) else dec(i);
    b[i,j]:=1;
    a[i,j]:=s;
  until (i=1)and(j=2*n+1)or (s=(2*n+1)*(2*n+1));
  for i:=1 to 2*n+1 do
  begin
    st:='';
    for j:=1 to 2*n+1 do
    begin
      ss:=IntToStr(a[i,j]);
      if Length(ss)=1 then ss:=' '+ss+' '
      else if Length(ss)=2 then ss:=ss+' ';
      st:=st+' '+ss+' ';
    end;
    Writeln(st);
  end;
  Readln;
end.

Ответ отправил: Паровоз (статус: 10-ый класс)
Время отправки: 21 марта 2010, 18:56
Оценка за ответ: 5


Мини-форум вопроса

Всего сообщений: 3; последнее сообщение — 21 марта 2010, 11:43; участников в обсуждении: 2.

21 марта 2010, 00:07: Вопрос перемещён из тематического раздела Delphi » Алгоритмы, преобразования в раздел Лабораторный практикум » Delphi модератором min@y™ Причина: Явная лаба

min@y™

min@y™ (статус: Доктор наук), 21 марта 2010, 00:08 [#1]:

Я готов сделать эту лабу.
Пиво будет?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
prog-mer

prog-mer (статус: Посетитель), 21 марта 2010, 11:33 [#2]:

А сколько надо?
min@y™

min@y™ (статус: Доктор наук), 21 марта 2010, 11:43 [#3]:

Цитата (prog-mer):

А сколько надо?

Пару бутылочек туборга. :)
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:25
Выполнено за 0.03 сек.