Вы правы. согласен. Проколололся... ;-)" писал(а):Все-таи, "исключительный период" - от 11 до 14, а не до 13 (а то получим в результате текст: 'Возраст составляет 14 года').
Помогите решить несколько задачек на паскале!!!! PLEEEEEEEEASE!!!!
-
- Сообщения: 375
- Зарегистрирован: 31 авг 2007, 03:06
Подскажите, в чем ошибка этого алгоритма, если например вместо матрицы порядка 7, будет матрица порядка 88. Не корректно строится она при таком значение.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.
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
Нет ошибок. Нормально строит. Просто на экране не помещается.