do-while takrorlash operatorining blok-sxemasi.
Masalan, birorta jarayonni davom ettirish yoki toʻxtatish haqidagi soʻrovga javob olish va uni tekshirish zarur boʻlsin. Koʻrinib turibdiki, jarayonni boshlamasdan oldin bu soʻrovni berishning maʻnosi yoʻq. Hech boʻlmaganda takrorlash jarayonining bitta qadami amalga oshirilgan boʻlishi kerak:
#include int main(){
char javob; do { ... // dastur tanasi cout<<”Jarayonni toʻxtatish (N):_
”;
cin>>javob;
} while(javob !=N) return 0; }
|
do; while(1);
Misol. Har qanday 7 dan katta butun sondagi pul miqdorini 3 va 5 soʻmliklarda berish mumkinligi isbotlansin. Qoʻyilgan masala p=3n+5m tenglamasi qanoatlantiruvchi m, n sonlar juftliklarini topish masalasidir (p-pul miqdori). Bu shartning bajarilishini m va n oʻzgaruvchilarining mumkin boʻlgan qiymatlarining barcha kombinatsiyalarida tekshirish zarur boʻladi.
#include #include using namespace std; int main() {
unsigned int Pul; //Pul- kiritiladigan pul miqdori
unsigned n3,m5; //n-3 soʻmliklar , m-5 soʻmliklar soni
bool xato=false; //Pul qiymatini kiritishdagi hatolik
do { if(xato)cout<<"Pul qiymati 7 dan kichik!";
xato=true; // keyingi takrorlalanish xato hisoblanadi cout<<"\nPul qiymatini kiriting (>7): "; cin>>Pul; }
while(Pul<=7); // Toki 7 dan katta son kiritilguncha n3=0; //Birorta ham 3 soʻmlik yoʻq do { m5=0; // Birorta ham 5 soʻmlik yoʻq
do { if (3*n3+5*m5==Pul)
cout<m5++; // 5 soʻmliklar 1 taga oshiriladi
}
while(3*n3+5*m5<=Pul);
n3++; //3 soʻmliklar bittaga oshiriladi
} while(3*n3<=Pul); return 0;}
|
Do'stlaringiz bilan baham: |