Помогите!!!
Вариант №11 Дан двумерный массив целых чисел А[1..N,1..N]. Сформируйте линейный массив В[1..NN], получающийся при чтении данного массива так, как показано на рисунке 11
Прикрепленные файлы
_________Microsoft_Word__5_.doc ( 41 килобайт )
Кол-во скачиваний: 330
svetik, правила внимательно читала?
http://forum.pascal.net.ru/rules.html
Пункт 1.11
Для етого имееться поиск я уверен что заполнение массива по спирали или чтение массива имееться в немеренном количестве!!!
М | а ты сам поиском пользуешься? Altair |
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.