while(3*n3<=pul);
return 0;}
Dastur pul qiymatini kiritishni so‘raydi(pu1 o‘zgaruvchisiga). Agar pul qiymati 7 sonidan kichik bo‘lsa, bu haqda xabar beriladi va takror ravishda qiymat kiritish talab qilinadi. Pul qiymati 7 dan katta bo’lganda, 3 va 5 so‘mliklarning mumkin bo‘lgan to‘la kombinatsiyasini amalga oshirish uchun ichma-ich takrorlashlar amalga oshiriladi. Tashqi takrorlash n3 (3 so‘mliklar miqdori) bo‘yicha, ichki takrorlash esa m5 (5 so‘mliklar miqdori) bo‘yicha, toki bu miqdordagi pullar qiymati pul qiymatidan oshib ketmaguncha davom etadi. Ichki takrorlashda m5 o’zgaruvchisining har bir qiymatida «3*n3+5*m5=pu1» sharti tekshiriladi, agar u o‘rinli bo‘lsa, yechim varianti sifatida n3 va m5 o’zgaruvchilar qiymatlari chop etiladi.
Pul qiymati 30 so‘m kiritilganda, ekranga
0 ta 3 so’mlik +6 ta 5 so’mlik chop etiladi.
5 ta 3 so’mlik +6 ta 5 so’mlik
10 ta 3 so’mlik +0 ta 5 so’mlik
yechim variantlari chop etiladi.
Goto operatori va nishonlar.
Dasturda shunday holatlar bo’ladiki, operatorlarning bajarilishiga qarab dasturning u yoki bu qismiga to‘g‘ridan-to‘g‘ri bajarishni uzatish ehtiyoji tug‘iladi. Bunday holatlarda shartsiz o‘tish operatoridan foydalanish mumkin.
C++ tilida shartsiz o‘tish operatorining sintsksisi quyidagicha:
Goto <nishon>;
Bu yerda - belgi(metka) bo‘lib identifikator bo‘lishi mumkin. Goto - o‘tish ma’nosini bildiradi.
C++ tillarida e’lon qilingan nishonlar qayerda e’lon qilinishiga qarab faqat e’lon qilingan (funksiya, qism dastur) sohada ko‘rinadi.
Goto operatorida qo‘llaniladigan identifikatorlar C++ tilida Delphidagi kabi e’lon qilinmaydi.
Shuni ta’kidlash lozimki C++ tilida dastur tuzish jarayonidagi ayrim hollarda goto operatoridan foydalanib «sakrab o‘tishi» hisobiga xatoliklar yuzaga kelishi mumkin. Masalan,
Do'stlaringiz bilan baham: |