Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.024 c
14-1129023517
dr Tr0jan
2005-10-11 13:38
2005.10.30
Помогите вспомнить название и исполнителя композиции.


3-1127212198
mrAld
2005-09-20 14:29
2005.10.30
Модификация полей в наборе данных ADO


1-1128359842
DimaT
2005-10-03 21:17
2005.10.30
ReadComponent / WriteComponent


14-1128867205
alexsis
2005-10-09 18:13
2005.10.30
Странно


11-1109765207
Boguslaw Brandys
2005-03-02 15:06
2005.10.30
Form.StatusCtl




   Наверх