Дата регистрации 10 Май 2023
5700 Продаж![else tab1.cells[c,r]:='0'; //  балларни  
хисоблаймиз  p:=7*StrToInt(tab1.cells[l,r])+ 
6*StrToInt(tab1.cells[2, r] ) 
+ 5*StrToInt(tab1.cells[3,r]}; 
//  натижаларни   чиқариш  
tab1.cells[4,r]:=IntToStr(s); //  жами  
медаллар  tab1.cells[5,r]:=IntToStr(p); // 
баллар  end; 
//  жадвални   баллар   сонига   кура   камайиш   тартибида  
тартиблаш  for r:=l to tab1.rowcount-1 do 
begin 
m:=r; // r-  каторда   максимал   элемент  for i:=r
to tab1.rowcount-1 do if 
StrToInt(tab1.cells[5,i])>StrToInt(tab1.cells[5,
m]) then m:=i; if r <> m then begin // r –
каторни  m- катор   билан   алмаштириш  for 
c:=0 to 5 do begin buf[ с ]:=tab1.Cells[c,r]; 
tab1.Cells[c,r]:=tab1.Cells[c,m]; 
tab1.Cells[c,m]:=buf[c]; end; end; end; end; 
Дастур дастлаб хар бир давлатнинг умумий медаллар сонини ва унга мос 
балларни хисоблайди. Кейин, хисобланган балларга кура жадвални камайиш 
буйича тартиблайди. Тартиблаш мобайнида каторларни алмаштиришда 
индекси жадвал устунлари индекси билан бир хил buf сатрли массивидан 
фойлаланилади. Бу усул билан буфердаги каторни жадвалга кўчириш ва жорий 
жадвал каторини буферга олиш имконини беради. 
Массивни кайта ишлаш дастурини тамомланишининг диалог ойнаси 5.21- 
расмда келтирилган.](https://docx.uz/documents/68baa99e-3987-4adc-a281-828d678894ff/page_19.png?v=3) 
                                                                            ![5.21-расм.  Олимпиада Натижалари  дастури ойнаси 
 
7.Массивдан фойдаланишдаги хатолар. 
  Массивдан фойдаланишда йўлга қўйиладиган энг хатолардан биттаси бу 
массив индексининг уни эълон қилган пайтдаги индекс чегарасидан чиқиб 
кетишидир. Агар индекс сифатида константадан фойдаланилса ва унинг 
қиймати чегарадан чиқиб кетса, бундай турдаги хато дастурни компиляция 
қилиш мобайнида аниқланади. Масалан, дастурда массив қуйидагича эълон 
қилинган бўлса: 
Day:   array[0..6]   of   string[11];
Компиляциямобайнидадастурда   day   [7]   :=
'Якшанба'; қисмихатодеббелгиланади. 
Агар массив  элементига  мурожаат  қилишда  индекс сифатида  ўзгарувчи  ёки
ифода ишлатилса, у холда хатолар дастур бажарилиш мобайнида рўй беради.
Масалан   дастурда   массив   қуйидагича   эълон   қилинган   бўлса,   tab1:   array
[1..N] of integer; 
ва  
for i:=0 to N do tab1[i] := 5;  катори  
формал жихатдан тўғри ва компиляциядан муваффақиятли ўтади. Бирок дастур 
бажарилиши мобайнида tab массивига мавжуд бўлмаган нолинчи элемент 
ўзлаштирилса экранга хатолик хақида хабар чиқарилади. Хабар дарчаси 
кўриниши дастурни қаердан туриб бажарилаётганлигига боғлиқ.](https://docx.uz/documents/68baa99e-3987-4adc-a281-828d678894ff/page_20.png?v=3) 
                                                                            ![//  формада   тасвирлаш   учун   рўйхатри  
расмийлаштириш  for i:=l to NT do st := st + IntToStr(i)+ ' 
' 
+ team[i] + #13; //  рўйхатни   чиқариш   
Label1.Caption :
= st; end; end. 
3. Массивни   киритиш . 
Массивни   киритиш   деганда   дастурнинг   ишлаш   мобайнида   фойдаланувчидан  
( ёкифайлдан )  массив   элементларини   кабўл   қилиш   жараёни   тушунилади . 
Массивнинг хар бир элементини киритиш учун киритиш майдонини яратиш 
зарур. Агар массив элементлари етарли даражада катта бўлса у холда бу ечим 
тўғри келмайди. Фараз қилинг 15 та киритиш майдонли формани. Кўриниб 
турибдики, сонлар кетма-кетлигини хар бир сон алохида катакчада 
жойлашадиган жадвал кўринишида киритган маъкул. Қуйида массив 
эелементларини компонентлар ёрдамида киритишни ташкил этишнинг 2 та 
усули куриб чикилади. StringGrid ва Memo ёрдамида. 
4.StringGrid компонентидан фойдаланиш. 
Массив элементларини киритишда StringGrid компонентидан фойдаланиш жуда
ҳам қулай бўлиб, бу компонент Additional сахифасида жойлашган(5.2 расм). 
5.2 расм StringGrid компоненти 
StringGrid компоненти ўзида хар бир катаги символлар сатридан иборат 
жадвални намоён килади. 5.1 жадвалда StringGrid компонентнининг баъзи 
хусусиятлари келтирилган: 
5.1 жадвал. StringGrid коипоненти хусусиятлари 
Х у су сият  Вазиф аси  
Name  Компонент  номи.  Компонент 
хусусиятларига 
ишлатилади  эгалик  қилиш  учун](https://docx.uz/documents/68baa99e-3987-4adc-a281-828d678894ff/page_5.png?v=3) 
                                                                            ![ташкари бу процедурада жадвалнинг биринчи устуни яъни олимпиадада 
катнашган давлатлар номи ҳам киритилади. 
Листинг 5.11.жадвални ишга тушириш 
procedure TForml.FormActivate(Sender: TObject); 
begin tab1.Cells[0,0] ='Давлат'; tab1.Cells[1,0] 
='Олтин'; tab1.Cells[2,0] ='Кумуш'; tab1.Cells[3,0] 
='Бронза'; tab1.Cells[4,0] ='Жами'; tab1.Cells[5,0] 
='Балл'; tab1.Cells[0,1] ='Австралия'; 
tab1.Cells[0,2] ='Белоруссия'; tab1.Cells[0,3] 
='Великобритания'; tab1.Cells[0,4] ='Германия'; 
tab1.Cells[0,5] ='Италия'; tab1.Cells[0,6] ='Китай'; 
tab1.Cells[0,7] ='Корея'; tab1.Cells[0,8] ='Куба'; 
tab1.Cells[0,9] ='Нидерландия'; 
tab1.Cells[0,10]— 'Россия'; 
tab1.Cells[0,ll]:='США'; 
tab1,Cells[0,12]:='Франция'; 
tab1.Cells[0,13]:='Япония'; end; 
БерилганжадвалмаълумотлариникайтаишлашбуйруқтугмасиНатижаларнибосга
ндан кейинчиқарилади (5.12 листинг). 
5.12 листинг. 2 ўлчовли массивни кайта ишлаш 
procedure TForml.ButtonlClick(Sender: TObject); var 
c,r:integer; //жадвалнинг устун ва катор номерлари 
s:integer; // гурухнинг медаллар сони р:integer; // 
гурух балли m:integer; // энг кўп балли гурух катор 
номери buf:array[0..5] of string; // каторни 
алмаштириш буфери i:integer; // катор номери. 
Тартиблашда фойдаланилади begin 
for r:=l to tab1.rowcount do //  барча   каторни   кайта   ишлаш  
begin s:=0; 
//  жами   балларни   хисоблаймиз  
for   c:=l   to   3   do   if
tab1.cells[c,r]   <>''   then
s:=s+StrToInt(tab1.cells[c,r])](https://docx.uz/documents/68baa99e-3987-4adc-a281-828d678894ff/page_18.png?v=3) 
                                                                            ![Кейинги   дастур   қисми   эса   йил   буйича   сотилган   барча   автомобиллар  
сонини   хисоблаб   беради : s:=0; 
for i := 1 to 6 do //  автомобилнинг  6  тамаркаси  
for j := 1 to 12 do //12  ой  
s :=  s + itog[i,j]; 
Мисол   тарикасида  2000  йил   Сиднейда   бўлиб   утган   ёзги   олимпиада  
мусобакаларининг   натижаларини   кайта   ишловчи   дастурни   курибчикамиз . 
Дастлабки маълумотлар 5.8 жадвалда келтирилган. 
5.8 жадвал. 200 йил Сидней олимпиадаси натижалари 
Давлат  
Олти
н  
К у м у
ш  
Бронза  
А встра лия  16  25  17 
Белару сь  3  3  11 
Велик  
тания  обри 11  10  7 
Г ерм а ния  14  17  26 
Италия  
13  8  13 
К итай   28  16  15 
К орея  8  9  11 
К у ба  11  11  7 
Нидер 
ы   ланд 12  9  4 
Россия  32  28  28 
Ру м ы н ия  11  6  9 
США   39  25  33 
Ф ранц ия  13  14  11 
Япония  
5  8  5 
Дастур хар бир давлат томонидан кулга киритилган медаллар сонининг умумий
сонини медалга мос баллга кура яъни хар бир олтин медал учун 7 балл, кумуш 
учун 
6 балл ва бронза учун 5 балл билан хисоблаши керак. Дастурнинг диалог 
ойнасининг кўриниши 5.20 расмда келтирилган.](https://docx.uz/documents/68baa99e-3987-4adc-a281-828d678894ff/page_16.png?v=3) 
                                                                            ![for i:=l to SIZE do 
a [ i ]:= 
Memol.Lines[i]; 
бу ерда, 
• Size- массив ўлчамини аниқловчи номланган константа; 
• a- массив 
• Memo1- Memo компоненти номи 
• Lines- Memo компоненти хусусияти бўлиб, ўзида Memo 
майдонидаги матннинг хар бир сатрни сақлайди. 
Дастур формаси 5.5 расмда келтирилган. Memo майдони ёнида тугмача 
босилиши билан Memo майдонидан массив қийматини ўзлаштирадиган буйруқ 
тугмаси (Button1) мавжуд. 
5.5 расм. Массивни киритиш дастурининг диалог ойнаси. 
5.5 Листинг. Memo компоненти сатрларидан массивни 
киритиш unit fr_memo_; interface uses 
Windows, Messages, SysUtils, Classes, 
Graphics, Controls, Forms, Dialogs, Menus, StdCtrls; 
type 
TForm1 = class(TForm) 
Memo1: TMemo; 
Button1: TButton; Label1: TLabel; 
procedure ButtonlClick(Sender: 
TObject); private 
{ Private declarations } 
public](https://docx.uz/documents/68baa99e-3987-4adc-a281-828d678894ff/page_11.png?v=3) 
                                                                            ![1.Массивни эълон қилиш.
Массив бошқа ўзгарувчилар каби ўзгарувчиларни эълон қилинадиган қисмда 
эълон қилинади. Умумий кўриниши қуйидагича бўлади: 
Ном: array[пастки индекс.. юқори индекс] of тур 
Бу ерда 
• Ном- массив номи 
• Array- эълон қилинаётган ном массив эканлигини англатувчи калит 
сўз 
• пастки индекс. юқори индекс – массив элементлари сони, яъни 
массив элементлари индексининг ўзгариш диапазонини билдирувчи
бутун сонлар 
• тур- массив элементлари тури 
 
Массив эълон қилишга мисоллар: 
temper:array[1..31] of real; 
ко ef:array[0. .2] of integer; 
name:array[1..30] of string[25]; 
Массив эълон қилганда костанталардан фойдаланиш жуда ҳам қулайдир. 
Номланган константа ўзгарувчиларни эълон қилиш бўлимидан олдин 
константаларни эълон қилиш бўлимида тавсифланади. Константаларни эълон 
қилиш const сўзи билан бошланади. Номли константани эълон қилиш учун 
дастлаб константа номи ва тенг (=) белгисидан сўнг унга бериладиган қиймат 
ёзилади. Масалан қиймати 10 га тенг nt номли константани эълон қилиш учун 
const бўлимида nt=10 деб ёзиш керак. Константани эълон қилгандан сўнг уни 
дастурнинг ихтиёрий қисмида ундан фойдаланиш мумкин. Қуйида келтирилган
мисолда футбол чемпионатининг гурух – қатнашувчи массивини эълон 
қилишда константадан фойдаланилган: 
const 
NT = 18; //  гурух   сони  
SN = 25; //  номлар   узунлиги   чегараси  
team: array[1..NT] of string[SN]; 
Дастурда массив элементидан фойдаланиш учун унинг номи ва элемент 
индексини квадрат кавсга олиш керак. Индекс сифатида бутун типли константа 
ёки ифода қўлланилиши мумкин. Масалан: 
team [ 1] := 'Пахтакор'; 
d := koef[l]*koef[l]-4*koef[2]*koef[1];](https://docx.uz/documents/68baa99e-3987-4adc-a281-828d678894ff/page_2.png?v=3) 
                                                                             
                                                                            ![ShowMessage(name[n+1]); 
temper[i] := StrToFloat(Edit1.text); 
Массивни   эълон   килаётган   пайтнинг   ўзида   унинг   қийматларини   бериб   ўтиш  
мумкин .  Массивни   эълон   килиш   жаранида   қийматларини   беришнинг   умумий  
кўриниши   қуйидагича : 
Ном :arrayp[ пастки   индекс .. юқори   индекс ] of  тур =( рўйхат ); 
Бу ерда: рўйхат-вергул билан ажратилган массив элементлари. Масалан : 
a: array [10] of integer = (0,0,0,0,0,0,0,0,0,0); 
Team: array[1..5] of String[10]= 
(' Пахтакор ',' Навбахор ',' Нефтчи ',' Хоразм ',' Термиз '); 
Массив   элементлари   ўлчами   билан   рўйхатдаги   элементлар   сони   бир   хил  
бўлишига   эътибор   беринг .  Аксхолда   компилятор   хатолик   хақида   хабар   беради : 
 Number of elements differs from declaration ( элементлар   сони   эълон  
қилингандагига   тўғри   келмайди ) 
 
Массив   бу   битта   ном   остида   бир   турга   мансуб   ўзгарувчилар   тўпламини   ўзида  
сақловчи   ўзгарувчидир .  Массивларни   маълумот   таркибига   қараб   битта   турдаги  
маълумотларни ,  масалан ,  жадвал   ва   рўйхатларга   нисбатан   қўллаш   жуда  
қулайдир . 
 
Массивлар устида амаллар 
Массивлар устида оддий амалларга қуйидагилар киради: 
• массивни чиқариш    массивни киритиш 
• массивнинг энг кичик энг катта элементини қидириш 
• массивнинг берилган элементини қидириш 
• массивни тартиблаш 
 
2.Массивни чиқариш. 
Массивни чиқариш деганда унинг элементлари қийматини монитор экранига 
(диалог ойнасига) чиқариш тушунилади. 
Агар дастурда массивнинг барча элементларини чиқариш керак бўлса, у холда 
for буйруғидан фойдаланган қулайдир ва бу буйруқнинг санагичи сифатида 
массив элементининг индекси олинади. Мисол тариқасида массив элементлари 
қийматларини белги майдонида чиқаришни кўрсатувчи дастурнинг кўриниши 
5.1 расмда келтирилган. Дастур номерланган гурухлари номларини](https://docx.uz/documents/68baa99e-3987-4adc-a281-828d678894ff/page_3.png?v=3) 
                                                                            ![StringGrid компоненти формага бошқа компонентлар каби кушилади. Ундан 
сўнг бу компонентни 5.2 жадвалда кўрсатилган каби созлаш керак. Дастур 
матни 5.2 листингда келтирилган. 
5.2 жадвал. StringGrid компоненти хусусиятлари 
Х у су сият  Қ ийм ат 
ColCount  5 
FixedCols  0 
RowCount  1 
DefaultRowHeight  24 
Height  24 
DefaultColWidth  64 
Width  328 
Options.goEditing  True 
Options.AlwaysShowEditing  True 
Options.goTabs  True 
Листинг 5.2. Массив бутун сонларини киритиш ва кайта 
ишлаш unit getar_; interface uses 
Windows, Messages, SysUtils, Variants, 
Classes, Graphics, Controls, Forms, Dialogs, Grids, StdCtrls; 
type 
TForm1 = class(TForm) 
Label1: TLabel; 
StringGridl: TStringGrid; 
Button1: TButton; Label2: TLabel; procedure
ButtonlClick (Sender: TObject); private 
{Private declarations} 
public 
{Public 
declarations} 
end; var 
Form1: TForml ; implementation {$R *.dfm} 
procedure TForml.ButtonlClick(Sender: 
TObject); var a : array[1..5] of integer; //  массив](https://docx.uz/documents/68baa99e-3987-4adc-a281-828d678894ff/page_8.png?v=3) 
                                                                            ![ColCount  Жадвал устунлари сони 
RowCount  Жадвал каторлари сони 
Cells  Жадвалги мос 2 ўлчамли массив.
Col   номерли   устун   ва   row   номерли
каторда жойлашган жадвалнинг катак
элементи cells[row,col,] 
FixedCols  Жадвалнинг  чап  томонидаги 
устунлар сони бўлиб, уни горизонт 
буйлаб харакатлантирган пайтда уз 
жойида колади. 
FixedRows  Жадвалнинг  юқори 
қисмидагикаторлар сони бўлиб, уни 
вертикал  буйлаб  харакатлантирган 
пайтда уз жойида колади. 
Options . goEditing  Жадвал элементини ўзгартириш 
мумкинлигини  билдирувчи 
хусусият. Агар True бўлса 
ўзгартириш рухсат этилган, False бўлса 
ман қилинган. 
Options . goTab  Курсорни жадвал катаглари 
буйлаб харакат  килдириш 
учун  <Tab> тугмачасидан 
фойдаланишга  рухсат 
(True) ёки рухсат бермайди (False) . 
Options . 
GoAlwaysShowEditor  Компонентни   ўзгартириш
жараёни   мобайнида   топа   олиш
хусусияти.   Агар   хусусият   False   бўлса
катакчада   курсор   пайдо   бўлиши   учун
F2   тугмасини   босиб   ёки   сичконча
билан   битта   туртиб   матнни   ёзиб
бошлаш керак. 
DefaultColWidth  Жадвал устунлари кенглиги 
DefaultRowHeight  Жадвал каторлари баланлиги 
GridLineWidth  Жадвал  катаги  чегаралари](https://docx.uz/documents/68baa99e-3987-4adc-a281-828d678894ff/page_6.png?v=3) 
                                                                            ![яънихарбирмассивэлементибиттамаркаданканчаавтомобилсотилганлигинихақи
дама ълумотсақлайди. 
  Агар жадвал бита турдаги маълумотни масалан, бутунсонларни 
сақласа у холда бундай жадвални 2 ўлчовли массив кўринишида 
тасвирлаш мумкин. 2 ўлчовли массивни эълон қилишнинг умумий 
кўриниши қуйидаги кўринишда бўлади: 
Ном: array[пастка чегар1..юқори чегара1, пастки чегара2..юқори 
чегара2] of тур 
Бу ерда 
  Ном- массив номи 
Array- эълон қилинаётган ном массив эканлигини англатувчи Delphi нинг калит 
сўзи 
Пастка чегара1..юқори чегара1, пастки чегара2..бкори чегара2- массив индекси 
оралиги ва мос холда массив элеменлари сонини англатувчи бутун 
константалар 
Тур- массив элементи тури 
5.7 жадвал 2 ўлчовли массив кўринишида қуйидагича тасвирланиши мумкин: 
itog: array [1..12, 1..6] ofinteger 
2 ўлчовли массив элементлари сонини қуйидагм формула оркали хисоблаш 
мумкин: (ЮЧ1-ПЧ1+1)х(ЮЧ2-ПЧ2+1) 
Бунда 
• ЮЧ1 ва ЮЧ2- биринчи ва иккинчи индексларнинг юқори чегараси 
• ПЧ1 ва ЧП2- биринчи ва иккинчи индексларнинг пастки чегараси. 
Шундай экан itog массиви integer турдаги 60 элементдан иборат 
экан. 
Массив элементини ишлатиш учун шу элементнинг индекслари кўрсатилиши 
керак. Одатда биринчи индекс жадвалнинг катор номерига, иккинчи индекс эса 
устун номерига мос келади. Демак, itog[2,3] элементида март ойида (3 чи ой) 
ВАЗ 2107 маркали автомобилдан (ВАЗ 2107 автомобилидан сотилган 
автомобиллар хақидаги маълумот 2 каторда жойлашади) канча сотилганлиги 
хақида маълумот сақланади. 
Жадваллар (массивлар) билан ишлаганда for буйруғидан фойдаланиш қулай. 
Масалан, битта маркадаги автомобилдан йил буйича канча автомобил 
сотилганлигини аниқлайдиган дастур қисми қуйидагича: 
s := 0; for 
j := 1 to 12 
do s := s + 
itog[2,j];](https://docx.uz/documents/68baa99e-3987-4adc-a281-828d678894ff/page_15.png?v=3) 
                                                                             
                                                                            ![{ Public 
declarations } 
end; var 
Forml: TForm1; implementation ($R *.DFM} 
procedure TForml .ButtonlClick(Sender: 
TObject); const 
SIZE=5; //  массив   ўлчови  
a:array[l..SIZE]of string[30]; // массив  n: 
integer; // Memo  майдони   сатрлари  
сони  
i:integer; //  массив   элементлари   индекси  
st:string; begin 
n:=Memo1.Lines.C
ount; if n = 0 then 
begin 
ShowMessage(' Дастлабки   маълумотлар  
киритилмаган !'); Exit; //  Ходисани   кайта   ишлаш  
жараёнидан   чикиш  end; 
// Memo  майдонида   матн  
мавжуд  if n > SIZE then begin 
ShowMessage(' Сатрлар   сони   массив   ўлчовидан  
ортик .'); n:=SIZE; //  Дастлабки  SIZE  та   сатрни  
киритамиз  end; 
for i:=1 to n do 
a[i]:=Form1.Memol.Lines[i-1];  //  Memo  сатри   нолдан  
бошлаб  
номерланади  
//  Массив   элементларини   хабар   дарчасида  
чиқариш  if n > 0 then begin 
st:=' Киритилган   массив :'+#13; for  i: =1 to n
do   st:=st+IntToStr(i)+'   '+   a[i]+f13;
ShowMessage(st); end; end; end.](https://docx.uz/documents/68baa99e-3987-4adc-a281-828d678894ff/page_12.png?v=3) 
                                                                            ![summ: integer; //  элементлар   йигиндиси  sr: 
real; //  урта   арифметик  i: integer; //  индекс  
begin 
//  массивни   киритиш  
//  агар   массив   элементи   буш   бўлса ,  уни   ноль   деб  
оламиз  for i:= 1 to 5 do if Length(StringGridl.Cells[i-1, 
0]) <>0 then a[i] := StrToInt(StringGridl.Cells[i-1,0]) else 
a[i] := 0; 
//  массивни   кайта   ишлаш  
summ := 0; 
for i :=1 to 5 do summ := summ +
a[i]; sr := summ / 5; 
//  натижани   чиқариш  
Label2.Caption :=' Элементлар   йигиндиси : ' + IntToStr(summ)+ + #13+
' Урта   арифметик : ' + FloatToStr(sr); end; end. 
5.Memo  компонентидан   фойдаланиш . 
Айрим   холларда   массивни   киритиш   учун  Memo  компонентидан   фойдаланиш  
мумкин .  Бу   компонент   ката   сондаги   сатрлардан   иборат   матнни   киритишга  
имкон   беради   ва   уни   символли   массив   кўринишида   ишлатиш   жуда   қулайдир . 
Memo  компоненти   формага   одатдагидай   кушилади . Memo  компоненти   белгиси  
Standard  сахифасида   жойлашган  (5.4  расм ). 
5.4  расм . Memo  компоненти  
5.3  жадвалда  Memo  компонентининг   бир   канча   хусусиятлари   санаб   утилган . 
5.3 жадвал. Memo компоненти хусусиятлари 
Х у су сият  Вазиф аси  
Name  Компонент номи. Дастурда 
ушбу компонент хусусиятларига 
эгалик қилиш учун ишлатилади 
Text  Memo   майдонида](https://docx.uz/documents/68baa99e-3987-4adc-a281-828d678894ff/page_9.png?v=3) 
                                                                            ![2107 
ВA 3 
2108             
ВA 3 
2109             
ВА З 
2110             
ВА З 
2111             
             
Жадвалнинг устунлари ва сатрлари коида буйича бир турдаги маълумотлардан 
иборат. 
Шунингучунжадвалбиланишкурадигандастурлардамассивларданфойдаланишж
удақ улай. Демак, 
юқоридакелтирилганжадвалниқуйидагибирўлчовлимасиивлартўпламиёрдамида
тасв ирлашмумкин: 
vaz2106: array [1..12] of integer; 
vaz2107: array [1..12] of integer; 
vaz2108: array [1..12] of integer; 
vaz2109: array [1..12] of integer; 
vaz2110: array [1..12] of integer; 
vaz2111: array [1..12] of integer; 
Хар бир массив ўзида мос ойда мос маркадаги аавтомобилдан сотилган 
автомобил сонини сақлайди. 
Бу жадвални қуйидаги кўринишда ҳам массив яратиш мумкин: 
jan: array [1..6] of integer; 
feb: array [1..6] of integer; 
mar: array [1..6] of integer;
dec: array [1..6] of integer;
Бундайхолдахарбирмассив
зхарбиройдасотилганавтом
обилларсонинисақлашгаму
лж алланган,](https://docx.uz/documents/68baa99e-3987-4adc-a281-828d678894ff/page_14.png?v=3) 
                                                                             
                                                                             
                                                                             
                                                                             
                                                                             
                                                                            ![номерланган рўйхат қилиб чиқариб беради. Дастур матни 5.1 листингда 
келтирилган. 
 
 
 
5.1 расм. Массивни чиқариш дастурининг диалог ойнаси 
5.1 листинг. Массивни чиқариш 
дастури  unit outar_; interface uses 
Windows, Messages, SysUtils, Variants, 
Classes, Graphics, Controls, 
Forms, Dialogs, StdCtrls; type 
TForm1 = class(TForm) 
Button1: TButton; Label1: TLabel; 
procedure ButtonlClick(Sender: 
TObject); private 
{ Private declarations } 
public { Public 
declarations } end; var 
Form1:   TForm1;   implementation   ($R   *.dfm}   const   NT   =   5;   var   team:
array[1..NT] of string[10] =('Paxtakor', 'Neftchi', 'Navbaxor', 'Xorazm', 
'Guliston'); procedure TForml.ButtonlClick(Sender:
TObject); 
var 
st:string; //  командалар   рўйхати  i:integer;
//  индекс ,  массив   элементи   номери  
begin](https://docx.uz/documents/68baa99e-3987-4adc-a281-828d678894ff/page_4.png?v=3) 
                                                                    Delphiда массивлар билан ишлаш