На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Название темы должно быть информативным !
Прежде чем задать вопрос, воспользуйтесь Поиском. и проверьте в FAQ (ЧАВО) Паскаля
Чтобы получить вразумительный ответ, подробно опишите проблему: что надо сделать, что не получается и номер ошибки (если есть), которую выводит компилятор.
Для вставки кода ваших программ используйте, пожалуйста, кнопку СODE=pas или выпадающий список СODE для других языков (подсветка синтаксиса).
[!] Как правильно задавать вопросы | Руководство по языку B.Pascal 7 & Objects/LR | Borland Pascal. Руководство пользователя
Модераторы: volvo877
  
> Заполнение двумерных массивов различными способами , примеры
    Примеры заполнения данными двумерных массивов ... ;)

    1. по S-зигзагу:

    ExpandedWrap disabled
      const
        n = 10;
        m = 8;
      var
        a: array[1..n, 1..m] of integer;
        i, j, k: integer;
      begin
        k:=1;
        for i:=1 to n do
          if (i mod 2 <> 0) and (j <= n) then
            begin
              for j:=m downto 1 do
                begin
                  a[i,j]:=k;
                  k:=k+1
                end
            end
          else
            begin
              for j:=1 to m do
                begin
                  a[i,j]:=k;
                  k:=k+1
                end
            end;
        for i:=1 to n do
          begin
            for j:=1 to m do
              write(a[i,j],' ');
            writeln
          end  
      end.

    2. по Z-зигзагу:

    ExpandedWrap disabled
      const
        n = 10;
        m = 8;
      var
        a: array[1..n, 1..m] of integer;
        i, j, k: integer;
      begin
        k:=1;
        for i:=1 to n do
        if (i mod 2 <> 0) and (j <= n) then
          begin
            for j:=1 to m do
              begin
                a[i,j]:=k;
                k:=k+1
              end
          end
        else
          begin
            for j:=m downto 1 do
              begin
                a[i,j]:=k;
                k:=k+1
              end
          end;
        for i:=1 to n do
          begin
            for j:=1 to m do
              write(a[i,j],' ');
            writeln
          end
      end.

    3. по спирали:

    ExpandedWrap disabled
      const
        n = 10;
        m = 8;
      var
        mas: array[1..n, 1..m] of integer;
        value,
        i, j, k: integer;
      begin
        i:=0; k:=0; value:=1;
      { генерация спирали }
        while i < n*m do
        begin
          inc(k);
          {проходи по горизонтали "слева-направо"}
          for j:=k to m-k+1 do
            begin
              inc(i);
              mas[k,j]:=value; inc(value)
            end;
          {проходи по вертикали "сверху-вниз"}
          for j:=k+1 to n-k+1 do
            begin
              inc(i);
              mas[j,m-k+1]:=value; inc(value)
            end;
          {проходи по горизонтали "справа-налево"}
          for j:=m-k downto k do
            begin
              inc(i);
              mas[n-k+1,j]:=value; inc(value)
            end;
          {проходи по вертикали "снизу-вверх"}
          for j:=n-k downto k+1 do
            begin
             inc(i);
             mas[j,k]:=value; inc(value)
           end
        end;
      { вывод результатов генерации спирали }
        for i:=1 to n do
          begin
            for j:=1 to m do
              write(mas[i,j]:3,' ');
            writeln
          end
      end.
    Сообщение отредактировано: andrew.virus -
      M
      andrew.virus
      А давай ты сначала научишься программы компилировать (я о том, что третий фрагмент элементарно не проходит компиляцию), потом - отлаживать (опять же, третий фрагмент кода будет вылетать по RangeCheck, это и без компиляции видно), и только потом, когда все будет компилироваться и работать (причем работать правильно), это, возможно, будет перенесено в тот раздел, куда было запощено тобой изначально...
        volvo877 согласен с твоим замечанием ... поправил код и сделал так, что третий пример можно запускать без дополнительных усилий ... :rolleyes:
        1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0585 ]   [ 14 queries used ]   [ Generated: 18.07.25, 00:43 GMT ]