Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиПоискОблакоComboВсе проекты

Произвести обход матрицы по маршруту, Pascale ABC

Саша Григорьев Ученик (81), на голосовании 1 неделю назад
Дополнен 1 месяц назад
вывести элементы массива в данном порядке
Голосование за лучший ответ
франциск 1 Мудрец (14294) 1 месяц назад
примерно так
uses graphabc;
const k=47;
var b: boolean=true;
begin
moveto(100+k*4,10+k*4);
for var i:=8 downto 0 do
begin
for var j:=0 to 4-abs(i-4)do
begin
var x:=min(i,4)-j;
var y:=i-x;
if b then setpencolor(clsilver) else setpencolor(clblue);
lineto(100+x*k,10+y*k);
b:=not b;
end;
end;
end.
Саша ГригорьевУченик (81) 1 месяц назад
нужно вывести элементы в данном порядке, а не нарисовать
франциск 1Мудрец (14294) 1 месяц назад
попробуй извлечь индексы из рисунка.
GennadyГений (57422) 1 месяц назад
А зачем ответ забанил? Он очень даже полезный.
Gennady Гений (57422) 1 месяц назад
Вставлю-ка и я свой пятак. :) В текстовом режиме выведет элементы матрицы по указанной схеме обхода.

procedure Out(Offs : Integer);
var i : Integer;
begin
for i := 1 + Abs(Offs)*Integer(Offs<0) to 5 - Abs(Offs)*Integer(Offs>0) do
Write(A[i, 5+1-i-Offs]:3);
end;

Сама программа

for i := -4 to 4 do Out(i);
Похожие вопросы