Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr
185
Biz yana massiv ustida takrorlash uchun sikl operatorlaridan foydalanamiz. Har
bir takrorlash davomida biz konsoldan o‘qib olingan
joriy elementni massivga
yuklaymiz. Massivning barcha elementlarini o‘qib olish uchun sikl
n marta
takrorlanadi .
4.1 Simmetrik massivni tekshirish
Agar massivning
birinchi va oxirgi elementi, ikinchi elementi unga mos
ravishda massivning oxirgi elementdan bitta oldingi elementi va shu tartibda tenglik
mos ravishda davom etsa, bu simmetrik massiv deyiladi.
Quyidagi shakllarda
simmetrik massivlarga misollar keltirilgan.
1
Keyingi misolda massiv simmetrik yoki simmetrik emasligini tekshiramiz :
Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr
186
Biz massivni initsializatsiya qilamiz va uning elementlarini konsoldan o‘qiymiz.
Simmetrik ekanligini tekshirish uchun bizga massivning yarmi orqali takrorlashni
amalga oshirishimiz kerak bo‘ladi. Massivning o‘rtadagi elementi
array.Length / 2
indeksidir. Agar uzunlik toq son bo‘lsa, bu indeks o‘rta qiymatidan bitta kam bo‘ladi,
lekin, agar u juf son bo‘lsa, indeks o‘rtasi (ikki elementning o‘rtasi)dan boshlanadi.
Shunday qilib, sikl 0 dan
array.Length / 2 gacha takrorlashni bajaradi.
Massivning simmetrik
ekanligini tekshirish uchun, biz
bool o‘zgaruvchisidan
foydalanamiz va dastlab biz massivni simmetrik deb tasavur qilamiz. Takrorlashlar
davomida biz birinchi elementni oxirgi element bilan,
ikkinchi elementni oxiridan
bitta oldingisi bilan taqqoslaymiz. Agar qaysidir paytda elementlar teng bo‘lmasa,
keyin
bool o‘zgaruvchisi
false qiymatini oladi va massiv simmetrik emasligi aniq
bo‘ladi.
Va nixoyat konsolga
bool o‘zgaruvchisini qiymati chop ettiriladi.