C ++ while and do ... while Loop (s primjerima)

U ovom uputstvu naučit ćemo upotrebu loop-a i učiniti… while petlje u programiranju na C ++ uz pomoć nekoliko primjera.

U računalnom programiranju, petlje se koriste za ponavljanje bloka koda.

Na primjer, recimo da želimo poruku prikazati 100 puta. Zatim, umjesto da ispis izjave ispišemo 100 puta, možemo upotrijebiti petlju.

To je bio samo jednostavan primjer; možemo postići mnogo veću učinkovitost i sofisticiranost u našim programima učinkovitom upotrebom petlji.

U C ++-u postoje 3 vrste petlji.

  1. for petlja
  2. while petlja
  3. do… while petlja

U prethodnom uputstvu saznali smo o petlji C ++ for. Ovdje ćemo naučiti whilei do… whilepetlje.

C ++ dok petlja

Sintaksa whilepetlje je:

 while (condition) ( // body of the loop )

Ovdje,

  • whilePetlja ocjenjujecondition
  • Ako conditionprocijeni na true, whileizvršava se kôd unutar petlje.
  • Ponovno conditionse ocjenjuje.
  • Taj se postupak nastavlja do conditionis false.
  • Kada conditionevaluira do false, petlja se završava.

Da biste saznali više o conditions, posjetite C ++ relacijski i logički operateri.

Dijagram toka while Loop

Dijagram toka petlje C ++ while

Primjer 1: Prikaz brojeva od 1 do 5

 // C++ Program to print numbers from 1 to 5 #include using namespace std; int main() ( int i = 1; // while loop from 1 to 5 while (i <= 5) ( cout << i << " "; ++i; ) return 0; )

Izlaz

 1 2 3 4 5

Evo kako program radi.

Iteracija Promjenjiva i <= 5 Akcijski
1. i = 1 true 1 ispisuje se i ipovećava na 2.
2. i = 2 true 2 ispisuje se i ipovećava na 3.
3. i = 3 true 3 ispisuje se i ipovećava na4
Četvrti i = 4 true 4 ispisuje se i ipovećava na 5.
5. i = 5 true 5 ispisuje se i ipovećava na 6.
6. i = 6 false Petlja je prekinuta

Primjer 2: Zbroj samo pozitivnih brojeva

 // program to find the sum of positive numbers // if the user enters a negative number, the loop ends // the negative number entered is not added to the sum #include using namespace std; int main() ( int number; int sum = 0; // take input from the user cout <> number; while (number>= 0) ( // add all positive numbers sum += number; // take input again if the number is positive cout <> number; ) // display the sum cout << "The sum is " << sum << endl; return 0; )

Izlaz

 Unesite broj: 6 Unesite broj: 12 Unesite broj: 7 Unesite broj: 0 Unesite broj: -2 Zbroj je 25

U ovom se programu od korisnika traži da unese broj koji je pohranjen u varijablu broj.

Da bismo pohranili zbroj brojeva, deklariramo varijablu zbroja i inicijaliziramo je na vrijednost 0.

whilePetlja se nastavlja sve dok korisnik ne unese negativan broj. Tijekom svake iteracije, broj koji je korisnik unio dodaje se varijabli zbroja.

Kada korisnik unese negativan broj, petlja se završava. Na kraju se prikazuje ukupni zbroj.

C ++ radi … dok petlja

do… whilePetlja je varijanta whilepetlje s jednom važnom razlikom: Tijelo do… whilepetlje izvršava se jednom prije nego conditionse provjerava.

Njegova sintaksa je:

 do ( // body of loop; ) while (condition);

Ovdje,

  • Prvo se izvršava tijelo petlje. Tada conditionse ocjenjuje.
  • Ako izvrši conditionprocjenu na true, tijelo petlje unutar doizraza ponovno se izvršava.
  • The conditionse ocjenjuje još jednom.
  • Ako izvrši conditionprocjenu na true, tijelo petlje unutar doizraza ponovno se izvršava.
  • Taj se postupak nastavlja sve dok conditionevaluacija do false. Tada se petlja zaustavlja.

Dijagram toka do … while Loop

Dijagram toka C ++ do … while petlje

Primjer 3: Prikaz brojeva od 1 do 5

 // C++ Program to print numbers from 1 to 5 #include using namespace std; int main() ( int i = 1; // do… while loop from 1 to 5 do ( cout << i << " "; ++i; ) while (i <= 5); return 0; )

Izlaz

 1 2 3 4 5

Evo kako program radi.

Iteracija Promjenjiva i <= 5 Akcijski
i = 1 nije provjereno Ispisuje se 1 i ipovećava se na 2
1. i = 2 true Ispisuje se 2 i ipovećava se na 3
2. i = 3 true Ispisuje se 3 i ipovećava se na 4
3. i = 4 true Ispisuje se 4 i ipovećava se na 5
Četvrti i = 5 true Ispisuje se 5 i ipovećava se na 6
5. i = 6 false Petlja je prekinuta

Primjer 4: Zbroj samo pozitivnih brojeva

 // program to find the sum of positive numbers // If the user enters a negative number, the loop ends // the negative number entered is not added to the sum #include using namespace std; int main() ( int number = 0; int sum = 0; do ( sum += number; // take input from the user cout <> number; ) while (number>= 0); // display the sum cout << "The sum is " << sum << endl; return 0; )

Izlaz 1

 Unesite broj: 6 Unesite broj: 12 Unesite broj: 7 Unesite broj: 0 Unesite broj: -2 Zbroj je 25

Here, the do… while loop continues until the user enters a negative number. When the number is negative, the loop terminates; the negative number is not added to the sum variable.

Output 2

 Enter a number: -6 The sum is 0.

The body of the do… while loop runs only once if the user enters a negative number.

Infinite while loop

If the condition of a loop is always true, the loop runs for infinite times (until the memory is full). For example,

 // infinite while loop while(true) ( // body of the loop )

Here is an example of an infinite do… while loop.

 // infinite do… while loop int count = 1; do ( // body of loop ) while(count == 1);

In the above programs, the condition is always true. Hence, the loop body will run for infinite times.

for vs while loops

A for loop is usually used when the number of iterations is known. For example,

 // This loop is iterated 5 times for (int i = 1; i <=5; ++i) ( // body of the loop )

Here, we know that the for-loop will be executed 5 times.

Međutim, whilei do… whilepetlje se obično koriste kada je broj iteracija nepoznat. Na primjer,

 while (condition) ( // body of the loop )

Pogledajte ove primjere da biste saznali više:

  • C ++ program za prikaz Fibonaccijevih serija
  • C ++ program za pronalaženje GCD-a
  • C ++ program za pronalaženje LCM-a

Zanimljivi članci...