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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.04.2011, 13:35   #1
egor67
Новичок
Джуниор
 
Регистрация: 08.04.2011
Сообщений: 3
По умолчанию Двумерный массив вывод элементов змейкой

Здравствуйте.Имеется вот таккая програмаа.Она не моя и я просто хочу разобраться , как в ней всё устроено (скоро буду делать на подобии такой).Опишите мне пожайлуста, что тут делает и за ,что отвечает каждая переменная.и для чего идёт проверка Odd.Буду очень признателен!Очень уж хочется разобраться, но самому не вышло.


Код:
uses crt;
var n,i,j,l,k:integer;
    a:array[1..20,1..20]of integer;
begin
clrscr;
write('n=');readln(n);
k:=0;
For l:=1 to 2*n-1 do{количество диагоналей, параллелных побочной}
  begin
    if l>n then{выше диагонали}
     begin
      if odd(l) then
       for i:=l-n+1 to n do
        begin
         k:=k+1;
         a[i,l-i+1]:=k;
        end
       else
       for i:=n downto l-n+1 do
        begin
         k:=k+1;
         a[i,l-i+1]:=k;
        end
        end
       else
       if l<=n then{ниже диагонали и на ней}
     begin
      if odd(l) then
       for i:=1 to l do
        begin
         k:=k+1;
         a[i,l-i+1]:=k;
        end
      else
       for i:=l downto 1 do
        begin
         k:=k+1;
         a[i,l-i+1]:=k;
        end;
     end;
   end;
for i:=1 to n do
 begin
  for j:=1 to n do
  write(a[i,j]:3);
  writeln;
 end;
readln
end.


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 08.04.2011 в 14:49.
egor67 вне форума Ответить с цитированием
Старый 08.04.2011, 14:21   #2
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

odd() — проверка на нечётность.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 08.04.2011, 14:39   #3
egor67
Новичок
Джуниор
 
Регистрация: 08.04.2011
Сообщений: 3
По умолчанию

Цитата:
Сообщение от veniside Посмотреть сообщение
odd() — проверка на нечётность.
Это я знаю.Для чего он проверяет на нечётность сдесь?
egor67 вне форума Ответить с цитированием
Старый 08.04.2011, 14:58   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

если очень вкратце, то для нечётных диагоналей заполнение идёт в возрастающем порядке, для чётных - в убывающем...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.04.2011, 17:15   #5
egor67
Новичок
Джуниор
 
Регистрация: 08.04.2011
Сообщений: 3
По умолчанию

А как насчёт переменных?Для чего нужна каждая из них и , что она делает.
Ну или если можно(комментарий к каждой строке добавить) что в данной строке происходит!
egor67 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заполнить массив змейкой NeGaTiVe Помощь студентам 9 28.03.2011 17:08
вывод двумерный массив по правилам...(delphi) KnightLOU Помощь студентам 3 17.12.2010 15:41
Двумерный массив,номер столбца с максимальным количеством четных элементов nondeadlollipop Помощь студентам 4 01.11.2010 07:32
Динамический массив. Неверный вывод элементов. sir.andrey Паскаль, Turbo Pascal, PascalABC.NET 7 27.02.2010 05:23
Вывод символов в StringGrid спиралью и змейкой (Delphi) ekzobyte Помощь студентам 1 02.04.2009 19:34