2
> - takrorlashni bajarish yoki yo‘qligini aniqlab beruvchi mantiqiy
ifoda, agar shart rost bo‘lsa, takrorlash davom etadi, aks holda yo‘q. Agar bu ifoda
bo‘sh bo‘lsa, shart doimo rost deb hisoblanadi;
3
> - odatda takrorlash sanagichning qiymatini oshirish (kamaytirish)
uchun xizmat qiladi yoki unda takrorlash shartiga ta’sir boshqa amallar bo‘lishi
mumkin.
Takrorlash operatorida qavs ichidagi ifodalar bo‘lmasligi mumkin, lekin
sintaksis ‘;’ bo‘lmasligiga ruxsat bermaydi. Shu sababli sodda ko‘rinishdagi
takrorlash operatori quyidagicha bo‘ladi:
for(;;) cout <<”Cheksiz takrorlash…’’;
Agar takrorlash jarayonida bir nechta o‘zgaruvchilarning qiymati sinxron
ravishda o‘zgarishi kerak bo‘lsa,
1
> va
3
>
ifodalarida zarur
operatorlarni ‘,’ bilan yozish orqali bunga erishish mumkin:
for(int i=10 , j=2 ; i<=20 ; i++ , j=i+10)
{
…
}
Takrorlash operatorining har bir qadamida j va I o‘zgaruvchi qiymatlari mos
ravishda o‘zgarib boradi.
For operatorida takrorlash tanasi bo‘lmasligi ham mumkin. Masalan,
programma bajarilishini ma’lum bir muddatga «to‘xtab» turish zarur bo‘lsa, bunga
takrorlashni hech qanday qo‘shimcha ishlarni bajarmasdan amal qilishi orqali
erishish mumkin:
#include
int main()
{
int delay;
…
for (delay=5000; delay>0; delay--);// bo’sh operator
…
return 0;
}
Yuqorida keltirilgan 10 dan 20 gacha bo‘lgan sonlar yig‘indisini bo‘sh tanali
(bo‘sh operatorli) takrorlash operatori orqali hisoblash mumkin:
…
for (int i=10; i<=20; summa+=i++) ;
…
Takrorlash operatori tanasi sifatida operatorlar bloki ishlatishini faktorialni
hisoblash misolida ko‘rsatish mumkin:
#include
int main()
{
int a;
unsigned long fact=1;
cout<<’’butun sonni kiriting:_’’;
cin>>a;
if ((a>=0)&&(a<33))
{
for (int i=1; i<=a; i++) fact*=i;
cout<
}
return 0;
}
Programma foydalanuvchi tomonidan 0 dan 33 gacha oraliqdagi son
kiritilganda amal qiladi, chunki 34! Qiymati unsigned long uchun ajratilgan
razryadlarga sig‘maydi.
Masala.
Takrorlash operatorining ichma-ich joylashuviga misol sifatida
raqamlari bir-biriga o‘zaro teng bo‘lmagan uch xonali natural sonlarni o‘sish
tartibida chop qilish masalasini ko‘rishimiz mumkin:
#include
int main()
{
unsigned char a2,a1,a0; // uch xonali son raqamlari
for (a2=’ 1’ ;a2<=’ 9’ ;a2++) //sonning 2-o‘rindagi raqami
for (a1=’ 0’ ;a1<=’ 9’ ;a1++) //sonning 1-o‘rindagi raqami
for (a0=’ 0’ ;a0<=’ 9’ ;a0++) //sonning 0-o‘rindagi raqami