ڕیز "Array" له ++C دا
ڕیز چییه؟
به كهڵهكهبوونی چهند دراوهێكی هاوجۆر له ژێر پێناسێكی دیاریكراودا" ڕیز" دروست دهبێت.
پێشتر فێربووین بۆ پێناسكردنی ژمارهیهكی تهواو ئهم دهربڕینه بهكار بێنین:
int jimare;
شێوازی پێناسكردنی ڕیز
DataType name[jimare];
جۆری دراوه، ههموو جۆره ناسراوهكانی زمانی ++C و جۆره دروستكراوهكان.DataType
ناوی گۆڕاوهكهیه بۆ كاركردنه لهگهڵیدا.name
ژمارهی دانهكانی ڕیزهكهیه.jimare
واتا ئهم دهربڕینه ڕیزێك پێناس دهكات كه ناوی (name)ه و له جۆری (DataType)ه و ژمارهی
دانهكانی (jimare)یه.بۆ نموونه:
int jimare[10];
لێرهدا jimare ناوی گۆڕاوێكه له جۆری ژمارهی تهواو int، كه له 10 خانه پێك هاتووه.
دهكرێت كاركردن لهگهڵ ههر خانهیهكدا به جیا ئهنجام بدرێت، بۆ ئهو مهبهستهش ژمارهی خانهكه
له نێو كهوانهیهكی گۆشهداردا [] دهنووسرێت، تاكوو دهستنیشان بكرێت كار لهگهڵ كام خانهدایه.
ئهوهش بزانه كه یهكهم خانهی ڕیزهكه له سفرهوه دهست پێ دهكات و دواخانهی ڕیزهكهش یهك ژماره
له كۆی ژمارهی خانهكان كهمتره (لهم نموونهیهدا دهكاته 9)، بۆ نموونه:
int Riz[7];
Riz[0]= 10;
Riz[3]= 3;
لهمهوه خانهی یهكهم Riz[0] یهكسان كراوه به 10 و، خانهی چوارهم یهكسان كراوه به 3،
تهماشای شێوهی خوارهوه بكه:
نموونهیهك له بهرنامهیهكدا:
void main(void)
{
float riz[10];
riz[0]=4.0;
riz[1]=45.0;
riz[4]=3.4;
cout << "riz[0]=" << riz[0] << endl ;
cout << "riz[4]=" << riz[4] << endl ;
}
گۆڕاوێك وهك پێڕست بۆ ڕیز index variable
وهك له سهرهوه ئاماژهی پێ درا تاكوو خانهیهك له ڕیزهكهدا ههڵبژێرین و كردارهكانی به سهردا
جێبهجێ بكهین، پێویستیمان به زانینی شوێنهكهی دهبێت له ڕیزهكهدا. ئهوهش له ڕێگهی ناونانی
ژمارهی خانهكهوه ئهنجام درا له نموونهكهدا. دهتوانین له بری ناونانی ژمارهی خانهكه گۆڕاوێك
بهكار بهرین، كه ڕێوشوێنی خانهكانمان بۆ دیاری بكات. بهكاربردنی ئهم گۆڕاوه بایهخی خۆی
ههیه له ڕێكخستنی ڕێنوێنییهكانی بهرنامهكه و ئاسان تێگهیشتنی. ئهم گۆڕاوه وهك ژمارهیهكی
تهواو پێناس دهكرێت.
void main(void)
{
int nirx[50];
int index =0;
nirx[34]=500;
nirx[index]= 410;
cout << nirx[index] << endl ;
}
وهك تێبینی دهكرێت، كاركردن به ژماره:
nirx[34]=500;
كاركردن بههۆی گۆڕاوێكهوه:
nirx[index]= 410;
پاش ئهنجامدانی ئهم بهرنامهیه لهسهر كۆنسۆڵهكه 410 دهر دهكهوێت، چونكه:
index =0
دهكرێت بۆ پێدانی نرخ به خانهكانی ڕیزهكه سووڕ بهكار ببرێت:
for(index=0; index<50; index++)
nirx[index]= 0;
لهم سووڕهدا ههموو خانهكانی ڕیزهكه یهكسان دهبن به سفر.
ئێستا دهتوانین نموونهیهك وهربگرین:
بهرنامهیهك بنووسه ١٠ ژمارهی تهواو له تهختهكلیلهوه وهربگرێت و پاش لێكدانیان به ٢ لهسهر
كۆنسۆڵهكه نیشانیان بدهرهوه.
void main(void)
{
int X[10], i;
for(i=0; i<10; i++)
{
cout << "jimarey(" << i<< "): ";
cin >> X[i];
}
for(i=0; i<10; i++)
cout << X[i]*2 << " ";
cout<< endl ;
}
پاش ئهنجامدانی بهرنامهكه و دانی ١٠ نرخ، شێوهیهكی وهك خوارهوه دهبینرێت لهسهر كۆنسۆڵهكه:
jimarey(0): 3
jimarey(1): 4
jimarey(2): 5
jimarey(3): 2
jimarey(4): 7
jimarey(5): 34
jimarey(6): 2
jimarey(7): 1
jimarey(8): 3
jimarey(9): 9
18 6 2 4 68 14 4 10 8 6
تێگهیشتنی بهرنامهكه ئاسانه، سهرهتا پێناسی ڕیزهكه دهكهین، پاشان له سووڕێكدا 10 ژماره
(له 0 تاكوو 9) وهردهگرین، دواتر له سووڕێكی دیكهدا ژمارهكان كهڕهتی ٢ دهكهین و نیشانی
دهدهین.
نرخپێدان له كاتی پێناسكردندا
دهكرێت له كاتی پێناسكردنی ڕیزدا نرخ بدرێت، واتا خانهكانی نرخی دیاریكراو ههڵ بگرن له
كاتی ناساندندا:
int jimare[6]= {12,7,34,30,40,65};
بێگومان دهكرێت ئهم كاره لهگهڵ ههموو جۆره دراوهكاندا ئهنجام بدرێت. ئهم نرخپێدانه له یهكهم
خانهی ڕیزهكهوه jimare[0] دهست پێ دهكات، گهر نرخی دراوهكان كهمتر بوون له ژمارهی خانهكان
ئهوا خانهكانی كۆتایی نرخ وهرناگرن!
int jimare[6]= {12,7,34,30};
وهك وایه بڵێین:
jimare[0]= 12;
jimare[1]= 7;
jimare[2]= 34;
jimare[3]= 30;
واته خانهكانی 5 و 6 نرخ وهرناگرن. بهپێچهوانهوه گهر دراوهكان زیاتر بن له ژمارهی خانهكان ئهوا
وهرگێڕهكه ههڵه پیشان دهدات:
int jimare[6]= {12,7,34,30,6,7,8,45};
ئهمه نابێت. چونكه ژمارهی خانه دابینكراوهكان كهمترن. بێگومان دهبێت ڕهچاوی تایبهتمهندی و بواری
كاری وهرگێڕهكهش له یاد نهكهین، ههندێك وهرگێڕ ههیه ئهم بارهی سهرهوه وهك ههڵه دانانێت، بهڵكوو
دراوه زیادهكان پشتگوێ دهخات.
بارێكی تر لهگهڵ پێناسكردنی ڕیزدا ئهوهیه كه دهكرێت ژمارهی خانهكانی ڕیزهكه دیاری نهكرابن،
ئهو كاته وهرگێڕهكه هێندهی ژمارهی دراوهكان جێگا دابین دهكات له RAM دا بۆ گۆڕاوهكه:
int jimare[]= {12,7,34,30};
لێرهدا jimare له 4 خانه پێك هاتووه.
ڕیز وهك ڕاگهیێن بۆ نهخشه
بهرنامهكان تهنها گۆڕاو نادهن به نهخشهكان، بهڵكه دهتوانن ڕیزیش وهك بهڵگه بدهن به نهخشه،
به ههمان شێوهی گۆڕاوی تر نهخشه كردار لهگهڵ ڕیزهكهدا دهكات و كرادرهكانی لهسهر ئهنجام دهدات.
تاكوو وهرگرتنی بهڵگهكهش بۆ نهخشهكه دروست بێت پێویسته ڕاگهیێنی نهخشهكهش لهههمان جۆری ڕیز
پێناس كرابێت، ههروهها دهكرێت خانهكانی ڕیزهكهش وهك ڕاگهیێنێك بدهین بۆ نموونه پێناسی
نهخشهیهك بهم شێوهیه بێت:
void Nexshe(int nirx[], int jimare)
لهم نموونهیهی خوارهوهدا له نهخشهی سهرهكیدا main كرداری بانگهێشتنی نهخشهیهك ئهنجام
دهدهین، كه ڕاگهیێنێك وهك ڕیز وهردهگرێت.
void nishandan(int nirx[], int jimare)
{
int i=0;
for(i=0; i<jimare; i++)
cout << nirx[i] << " ";
cout << endl;
}
void main(void)
{
int Riz[5]= {12,7,34,30,29};
nishandan(Riz,5);
}
به ههمان شێوه دهتوانین نهخشهیهكی دیكه بۆ خوێندنهوهی ڕیزهكه بنووسین:
void wergirtn(int nirx[], int jimare)
{
int i;
for(i=0; i<jimare; i++) {
cout << "jimare " << i << ": ";
cin >> nirx[i] ;
}
}
void main(void)
{
int Riz[5];
wergirtn(Riz,5);
nishandan(Riz,5);
}
وهرگرتنی ژمارهكان له ڕێی نهخشهی wergirtn ئهنجام دراوه، نووسینی ناوی ڕیزهكه به بێ كهوانهی
گۆشهدار Riz له بانگهێشتكردنی نهخشهكهدا دهنووسرێت تاكوو ڕاستهوخۆ كار لهگهڵ نرخهكانیدا
بكرێت، بهم شێوهیه ههڵهیه:
wergirtn(Riz[],5);
ڕاستییهكهی وهك ئهوهیه كه له بهرنامهكهدا نووسراوه:
wergirtn(Riz,5);
تێگهیشتنی ئهم باره له بابهتی نیشاندهردا pointer ڕوون كراوهتهوه ( تهماشای ئێره یان ئێره بكه).
له ڕوانگهی ئهوهشهوه دهكرێت ڕوونكردنهوهی نهخشهكان بهم شێوهیهی لێ بكرێت:
void wergirtn(int* nirx, int jimare)
{
int i;
for(i=0; i<jimare; i++) {
cout << "jimare " << i << ": ";
cin >> nirx[i] ;
}
}
void nishandan(int* nirx, int jimare)
{
int i=0;
for(i=0; i<jimare; i++)
cout << nirx[i] << " ";
cout << endl;
}
void main(void)
{
int Riz[5];
wergirtn(Riz,5);
nishandan(Riz,5);
}
ڕیزی دوو لا
له نموونهكانی سهرهوهدا باس له ڕیزی "یهك لا" كرا، گهر بمانهوێت ڕیزێك پێناس بكهین له شێوهی
خشتهیهك كه له 4 ڕیز و 2 ستوون پێك هاتبێت، ئهو كاته پێناسهكهی بهم شێوهیه دهبێت:
int xishte[4][2];
كاركردن لهگهڵ ڕیزهكهدا به ناوبردنی ههردوو لای ڕیزهكه دهبێت:
xishte[0][0]= 5 ;
ئێستا گهر خانهی دووهم له ڕیزی یهكهم، یهكهم ستون بگۆڕین دهنووسین:
xishte[1][0]=8;
وهك لهم شێوهیهی خوارهوهدا ڕوون كراوهتهوه:
ههڵبژاردنی خانهیهك له ڕێگهی ژمارهی ڕیز و ستونهكهی ئهنجام دهدرێت، وهك له سهرهوه باس كرا،
بهو شێوهیه دوو گۆڕاومان پێویست دهبێت تاكوو پێڕست لهسهر خانهكان دروست بكهین، وهك لهم
نموونهیهی خوارهوهدا زیاتر دهردهكهوێت:
void main(void)
{
int x, y;
int xishte[4][2] ;
for(x=0; x<4; x++)
for(y=0; y<2; y++) {
cout << "xishte["<<x<<"]["<<y << "] : ";
cin >> xishte[x][y];
}
for(x=0; x<4; x++) {
for(y=0; y<2; y++)
cout << xishte[x][y] << " ";
cout << endl;
}
}
به دوو سووڕ ههموو خانهكان بهسهر دهكهینهوه، سووڕی یهكهم ڕیزهكان و سووڕی دووهم ستوونهكان
ههڵدهبژێرێت. پاش جێبهجێكردنی بهرنامهکه ژمارهكان وهردهگرێت له تهختهكلیلهوه:
xishte[0][0] : 2
xishte[0][1] : 3
xishte[1][0] : 4
xishte[1][1] : 5
xishte[2][0] : 6
xishte[2][1] : 7
xishte[3][0] : 8
xishte[3][1] : 9
پاشان دوو سووڕی دووهم ژمارهی ناو خانهكان نیشان دهدات:
3 2
5 4
7 6
9 8
سهبارهت به دابینكردنی شوێن له RAM دا، گهر وهرگێڕ 4 بایت بۆ ژمارهی تهواو دابنێت
ئهوا (4*2*4) كه دهكاته 32 بایت دابین دهكرێت بۆ گۆڕاوی xishte له نموونهكهی سهرهوهدا.
تاكوو ڕیزی دوولا وهك ڕاگهێین له نهخشهدا بهكار ببرێت، پێویسته ژمارهی لای ڕاست كه ستونهكان
دیاری دهكات ناو ببرێت:
void wergirtn(int xishte[][2])
تاكوو وهرگێڕ ژمارهی ڕیزهكان بزانێت چهنده، زانینی لای چهپ بدرێت یان نا، زۆر گرنگ نییه.
void wergirtn(int xishte[][2])
{
int x, y;
for(x=0; x<4; x++)
for(y=0; y<2; y++) {
cout << "xishte["<<x<<"]["<<y << "] : ";
cin >> xishte[x][y];
}
}
بانگهێشتكردنی نهخشهكهش بهم شێوهیه دهبێت:
wergrtn2(xishte);
ڕیزی چهند لا
هاوشانی ڕیزی دوولا له زمانی ++C دا ڕێگه دهدرێت ڕیزی "چهند لا"ش پێناس بكرێت، بهم شێوهیهی
خوارهوه:
int Naw[size1][size2][size3][sizeN] ;
N ژمارهی "لا" پێناسكراوهكانه. نموونه:
int chendla[4][2][2] ;
chendla[0][1][1] = 4;
له بواری كرداریدا ڕیزی سێ لا زیاتر بهكار نابرێت، چونكه یهكهم، جێگا زۆر دهگرێت، دووهم، وهرگێڕ
كاتی زۆر دهوێت بۆ پێرستكردنی خانهکان و ههڵبژاردنیان.
پوخته
لهم ڕاهێنانهدا فێر بووین كه:
- ڕیز گۆڕاوێكه، له چهند خانهیهك پێك هاتووه ئهم خانانهش ههمان جۆره دراوه (داتا)یان ههیه.
- بۆ پێناسكردنی ڕیزێك جگه له ناو پێویسته جۆر و ژمارهی دانهكانیش دهستنیشان دهكهین تاكوو
جێگهی بۆ دابین بكرێت.
- خانهیهك له ڕیزهكهدا به Element ناو دهبرێت.
- ژمێرهكردنی خانهكان له سفرهوه دهست پێ دهكهن، دواخانهش دهكاته كۆی خانهكان.
- بههۆی گۆڕاوێكهوه له جۆری ژمارهی تهواو كه وهك پێڕست بهكار دهبرێت، دهتوانین خانهكان
ههلبژێرین و كار لهگهڵیاندا بكهین.
- گهر ڕیز وهك ڕاگهیێن بهكار ببهین، پێویسته له كاتی بانگهێشتكردنیدا ژمارهی خانهكان بناسێنین،
یاخود نیشاندهر بهكار دههێنین.
- گهر ڕیز وهك نیشاندهر بهكار برا دهكرێت ناوهڕۆكهكهی له نهخشهكهدا بگۆڕدرێت..
|