Помощь - Поиск - Пользователи - Календарь
Полная версия: ДВУХМЕРНЫЕ МАССИВЫ
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
svetik
Помогите!!!
Вариант №11 Дан двумерный массив целых чисел А[1..N,1..N]. Сформируйте линейный массив В[1..NN], получающийся при чтении данного массива так, как показано на рисунке 11
volvo
svetik, правила внимательно читала?
http://forum.pascal.net.ru/rules.html
Пункт 1.11
HeX
Для етого имееться поиск я уверен что заполнение массива по спирали или чтение массива имееться в немеренном количестве!!!

М
а ты сам поиском пользуешься? smile.gif
Altair

volvo
HeX, в следующий раз не говори, что нужно пользоваться поиском, а найди (если есть) похожее решение, и дай ссылку. Вот я, например, похожего решения НЕ нашел.

svetik, что-то типа этого:
const
  n = 7;
  k = -1;
  arr: array[1 .. n, 1 .. n] of integer =
    ((1, 2, 3, 4, 5, 6, 7),
     (2, 3, 4, 5, 6, 7, 8),
     (3, 4, 5, 6, 7, 8, 9),
     (2, 3, 4, 5, 6, 7, 8),
     (1, 5, 3, 2, 8, 7, 6),
     (8, 3, 2, 9, 0, 3, 2),
     (9, 8, 7, 6, 5, 4, 3));
var
  lin: array[1 .. sqr(n)] of integer;
  i, j, count: integer;

begin
  i := n; j := n;
  count := 0;

  repeat

    while (j > 0) and (arr[i, j] <> K) do begin
      inc(count); lin[count] := arr[i, j]; arr[i, j] := K;
      dec(j)
    end;
    inc(j); dec(i);
    while (i > 0) and (arr[i, j] <> K) do begin
      inc(count); lin[count] := arr[i, j]; arr[i, j] := K;
      dec(i)
    end;
    inc(i); inc(j);
    while (j < succ(n)) and (arr[i, j] <> K) do begin
      inc(count); lin[count] := arr[i, j]; arr[i, j] := K;
      inc(j)
    end;
    dec(j); inc(i);
    while (i < succ(n)) and (arr[i, j] <> K) do begin
      inc(count); lin[count] := arr[i, j]; arr[i, j] := K;
      inc(i)
    end;
    dec(i); dec(j)

  until count = sqr(n);

  for i := 1 to count do
    write(lin[i]:4);
  writeln;
end.


P.S. Но в следующий раз НЕ присоединяй DOC-файлы, тема просто будет удалена и все !!!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.