![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() Прошу помочь составить программу, которая заполняет квадратичную матрицу порядка n2 натуральными числами 1, 2, 3 ... n2, записывая их в неё "по спирали"!
P.S: Помоги кто может пожалуйста в составлении такой программы на Delphi (С описанием) ![]() |
#2
|
||||
|
||||
![]() Предлагаю обмен. Вы мне помогаете кран отремонтировать, я вам помогаю программу написать.
![]() Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
|||
|
|||
![]() Интересная задачка)
Код:
{$APPTYPE CONSOLE} uses SysUtils; type TDirection = (dRight, dDown, dLeft, dUp); const CCOLSROWS = 5; var A:Array [1..CCOLSROWS, 1..CCOLSROWS] of Integer; Len, i, Index, x, y, c:Integer; Direction:TDirection; begin //Подготовимся Index:=1; Len:=CCOLSROWS-1; x:=1; y:=1; Direction:=dRight; A[x,y]:=Index; c:=0; //заполняем массив while (Len > 0) do begin for i:=1 to Len do begin Inc(Index); case Direction of dRight: Inc(x); dDown: Inc(y); dLeft: Dec(x); dUp: Dec(y); end; A[x,y]:=Index; end; Inc(c); if c = 3 then begin Dec(Len); c:=1; end; if Direction = dUp then Direction:=dRight else Direction:=Succ(Direction); end; //и выводим результат for y:=1 to CCOLSROWS do begin for x:=1 to CCOLSROWS do Write(StringOfChar(' ',5-Length(IntToStr(A[x,y])))+IntToStr(A[x,y])); Writeln; end; Readln; end. |
#4
|
|||
|
|||
![]() "Asinkrit" спасибо вам за наглядный пример, а можно побольше описаний и комментарий?
Просто мне для курсовой надо... ![]() |
#5
|
|||
|
|||
![]() Что тебе конкретно непонятно? Тут и разжовывать то нечего..
|
#6
|
|||
|
|||
![]() "Asinkrit" я это и сам понимаю, но препод докопался до всякой мелочи.
Можешь предоставить "Алгоритм (Блок схему с описаниями)"??? ![]() |