Страница 2 из 2
Re: Помогите решить несколько задачек на паскале!!!! PLEEEEEEEEASE!!!!
Добавлено: 10 янв 2008, 09:59
Serge_Bliznykov
" писал(а):Все-таи, "исключительный период" - от 11 до 14, а не до 13 (а то получим в результате текст: 'Возраст составляет 14 года').
Вы правы. согласен. Проколололся... ;-)
Re: Помогите решить несколько задачек на паскале!!!! PLEEEEEEEEASE!!!!
Добавлено: 31 мар 2009, 02:02
Henaro
Serge_Bliznykov писал(а):Black89,
решение:
Код: Выделить всё
const
MaxArray = 7;
type
MyArrayType = array [1..MaxArray, 1..MaxArray] of integer;
procedure Spiral(var M : MyArrayType);
var
k, MaxStep, PosX, PosY : integer;
i: integer;
BEGIN
i := 1;
PosX := 1;
PosY := 0;
MaxStep := MaxArray;
while i <= MaxArray*MaxArray do
begin
{движение вправо}
for k:=1 to MaxStep do
begin
Inc(PosY);
M[PosX, PosY] := i;
Inc(i);
end;
Dec(MaxStep);
{движение вниз по спирали}
for k:=1 to MaxStep do
begin
Inc(PosX);
M[PosX, PosY] := i;
Inc(i);
end;
{движение влево по спирали}
for k:=1 to MaxStep do
begin
Dec(PosY);
M[PosX, PosY] := i;
Inc(i);
end;
Dec(MaxStep);
{движение вверх по спирали}
for k:=1 to MaxStep do
begin
Dec(PosX);
M[PosX, PosY] := i;
Inc(i);
end;
end;
end;
var
Matrix : MyArrayType;
i, j : integer;
BEGIN
Spiral(Matrix);
for i:=1 to MaxArray do
begin
for j:=1 to MaxArray do
Write(Matrix[i,j]:4);
WriteLn;
end;
END.
Подскажите, в чем ошибка этого алгоритма, если например вместо матрицы порядка 7, будет матрица порядка 88. Не корректно строится она при таком значение.
Re: Помогите решить несколько задачек на паскале!!!! PLEEEEEEEEASE!!!!
Добавлено: 31 мар 2009, 08:53
Naeel Maqsudov
Нет ошибок. Нормально строит. Просто на экране не помещается.