![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
___ALex___ |
![]()
Сообщение
#1
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 282 Репутация: ![]() ![]() ![]() |
Народ, предложите своё решение...
1. Составить алгоритм заполнения прямоугольной таблицы размером N*N целыми числами от 1 до N*N по спирали. Пример для N=5. Цитата 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 2. Переставить две части массива А из n элементов, первая часть - элементы с номерами от 1 до m, вторая - от m+1 до n. При этом порядок элементов в каждой из частей должен быть сохранен и нельзя использовать дополнительные массивы. Пример. n=9, m=5 Вход: 9 4 7 2 3 5 8 1 6 Выход: 5 8 1 6 9 4 7 2 3 |
![]() ![]() |
Some1 |
![]()
Сообщение
#2
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 38 Репутация: ![]() ![]() ![]() |
И ещё один вариант, похож на предыдущий, немного оптимизирован принцип:
Это для тех, кто не любит ещё и явно указывать условия ![]() Код uses crt; var x1,y1,x2,y2,x,y:byte; a:array[1..100,1..100] of integer; val,dx,dy:integer; n:byte; begin clrscr; write('Введите N:'); readln(n); x1:=1; y1:=1; x2:=n; y2:=n; val:=1; x:=1; y:=1; repeat a[x,y]:=val; dx:=byte((y=y1)and(x<>x2))-byte((y=y2)and(x<>x1)); dy:=byte((x=x2)and(y<>y2))-byte((x=x1)and(y<>y1)); inc(x1,byte((dx=0)and(y=y1)and(val<>n))); dec(x2,byte((dx=0)and(y=y2))); inc(y1,byte((dy=0)and(x=x2))); dec(y2,byte((dy=0)and(x=x1)and(val<>1))); inc(x,dx); inc(y,dy); inc(val); until val>n*n; for y:=1 to n do begin for x:=1 to n do write(a[x,y]:3); writeln; end; end. Добавлено (2.02.03 1:32): Цитата Я эти задачки решал на олимпиадах, причём на решение и оформение каждой было всего по 10 минут... Представляю себе ![]() ![]() Прога может и не была бы оптимальной и маленькой, но я постарался бы уложиться в 10 минут, и думаю смог бы.. единственная проблемма у меня всегда была с оформлением. Что у вас под этим словом подразумевалось ? З.Ы. И что, выиграл ? ![]() |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 7:00 |