Главная страница
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.03 c
14-1128525402
***_Diman_***
2005-10-05 19:16
2005.10.30
CeCreateFile - как вызвать?


14-1128674492
shc
2005-10-07 12:41
2005.10.30
Компонент для архивации


5-1093549702
Jetus
2004-08-26 23:48
2005.10.30
Выделение дней в календаре


14-1128526612
kami
2005-10-05 19:36
2005.10.30
Посоветуйте что-нибудь по БД


14-1128842983
Карелин Артем
2005-10-09 11:29
2005.10.30
Посоветуйте работающую связку виртуальная машина + линукс новый.