Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.30;
Скачать: CL | DM;

Вниз

Массивы   Найти похожие ветки 

 
Толян ©   (2005-10-06 17:37) [0]

Народ подскажите как мне заполнить двухмерный массив данным образом

1  2  3  4  5  6  7  8  9       10
35 36 37 38 39 40 41 42 43 11
34 64 65 66 67 68 69 70 44 12
33 63                      71 45 13
32 62                      72 46 14
31 61          100       73 47 15
30 60                     74 48 16
29 59 80  79 78 77 76 75 49 17
28 58 57 56 54 53 52 51 50 18
27 26  25  24  23  22  21 20 19
и так до центра  помогите пожалуста


 
IceBeerg ©   (2005-10-06 17:44) [1]

Толян ©   (06.10.05 17:37)
В циклах (For!).
Но баян.


 
default ©   (2005-10-06 17:49) [2]

для этого в языке программирования должен быть спиралевидный for:)
классическая олимпиадная задачка по информатике:)


 
Толян ©   (2005-10-06 17:50) [3]

ну эт понятно а дальше такая трабла пипец!!!


 
han_malign ©   (2005-10-06 17:53) [4]

Сколькими способами?

З.Ы. Если не можешь самостоятельно решить практическое задание, стоит подумать о переводе на другую специальность...


 
Толян ©   (2005-10-06 17:53) [5]

как ее зделать после фора


 
Толян ©   (2005-10-06 17:54) [6]

хоть какими


 
clickmaker ©   (2005-10-06 17:57) [7]

включай мозг, Толян. Это ж даже не программирование, а алгебра


 
default ©   (2005-10-06 17:57) [8]

Толян ©   (06.10.05 17:54) [6]
так и обводи по спирали в цикле...горизонталь, вертикаль, ...


 
default ©   (2005-10-06 18:23) [9]

нужен код для обвода рамки заданного размера с заданного числа
далее вызываешь его в цикле for  для разных размеров и разных чисел


 
Zeqfreed ©   (2005-10-06 19:02) [10]

Толян ©   (06.10.05 17:37)

const
MAX_X = 9;
MAX_Y = 9;

var
...
ar : array[0..MAX_X, 0..MAX_Y] of Integer;

...

procedure TfrmMain.btnFillClick(Sender: TObject);
var
i, j : Integer;
num : Integer;
mx, my, xtr, ytr : Integer;
begin
i := -1;
j := 0;
num := 1;

xtr := 0;
ytr := 1;
mx := MAX_X;
my := MAX_Y;

repeat
 while i < mx do begin
  Inc(i);
  ar[i, j] := num;
  Inc(num);
 end;

 while j < my do begin
  Inc(j);
  ar[i, j] := num;
  Inc(num);
 end;

 while i > xtr do begin
  Dec(i);
  ar[i, j] := num;
  Inc(num);
 end;

 while j > ytr do begin
  Dec(j);
  ar[i, j] := num;
  Inc(num);
 end;

 Inc(ytr);
 Inc(xtr);
 Dec(mx);
 Dec(my);
until (mx = MAX_X div 2) or (my = MAX_Y div 2);
end;


Впредь обещай заниматься более прилежно.



Страницы: 1 вся ветка

Текущий архив: 2005.10.30;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.05 c
1-1128537033
Aleksey
2005-10-05 22:30
2005.10.30
Динамическая работа с frame ами


3-1127067957
Prohodil Mimo
2005-09-18 22:25
2005.10.30
Как выглядит аналог EncodeDate v SQL FB 1.5 ?


14-1129103667
Андрей Жук
2005-10-12 11:54
2005.10.30
Фленов о .NET


1-1128439890
~SaM~
2005-10-04 19:31
2005.10.30
Арифметические действия с числами, записанными в строках.


3-1127070183
Девушка
2005-09-18 23:03
2005.10.30
Внешние ключи в контекст транзации.