Главная страница
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.052 c
14-1128586993
BURN
2005-10-06 12:23
2005.10.30
Пятнашки


14-1128596275
КаПиБаРа
2005-10-06 14:57
2005.10.30
"Правдозащитники"


10-1105988385
BAYES
2005-01-17 21:59
2005.10.30
Сохранение Word


2-1128610711
SMATMP
2005-10-06 18:58
2005.10.30
property Bitmap.ScanLine


1-1128580294
Lirik
2005-10-06 10:31
2005.10.30
Настройки экрана