Do-While Loop Examples in C++
Before we move on the examples of Do-While loop, let’s learn little bit about the Do-While loop in C++ language.
Do While loop
An iterative loop that checks the condition at the end.
The Do-While loop can be used whenever a test condition is specific, as the control enters the loop at a minimum once before the condition is evaluated. This loop checks the given condition after the execution of looping statements.
The loop actions or statements will be repeated infinitely as long as the test requirements are met. Three expressions are utilized to build this loop, just as they are in a while loop. Expression 1 is used to initialize the index value that appears after the loop is exited, expression 2 is used to alter the index value, and the expression 3 is used to determine whether the loop should be repeated or not.
DO-WHILE LOOP means “first do it, then check”
Syntax of Do While Loop
Syntax of Do While Loop
Do
{
statement(s);
}
while(expression);
in other words, do-while is equivalent to:
initialization
do{
statement 1
statement 2
_________
_________
Increment/updation
}
While (condition)
Examples of Do-While Loop
Example 1: Finding LCM of three numbers using DO-WHILE loop:
Algorithm:
Step 1: Start.
Step 2: Read three numbers a, b, and c.
Step 3: max =(a>b)? ((a>c)? a:c): ((b>c)?b:c).
Step 4: Check the condition max%a==0 and max%b==0 and max%c==0.
Step 5: max++. After this, step4 is repeatedly executed until the condition is false.
Step 6: Stop.
Program:
#include <iostream>
using namespace std;
int main()
{
int a, b, c, max;
cout<<"Enter three numbers:";
cin>>a>>b>>c;
// maximum value between a or b or c is stored in max //
max = (a>b)? ((a>c)? a:c): ((b>c)?b:c);
do
{
if (max % a == 0 && max % b == 0 && max%c==0)
{
cout << "LCM = " << max;
break;
}
else
++max;
}
while (true);
return 0;
}
Output:
Enter three numbers:
12
18
24
LCM= 72
Explanation:
The user is asked to input three integers a, b and c. The largest of those three numbers is placed in max variable.
The loop is finished when the max is divisible by all the three integers a, b and c. When this condition is true, then the value of max variable (which is the LCM of the given three numbers) is printed and the loop is terminated. If this is not the case, the value of max is increased by one, and the process is repeated until max is divisible by a, b, and c.
Example 2: Check whether the given number is a palindrome or not
Algorithm:
Step 1: Start.
Step 2: Read the number(n).
Step 3: digit=n%10
Rev=(rev*10)+rev
Step 4: n=n%10.
Step 5: n! =0
If(true)
Repeat step 3&4
Else
print (rev)
Step 6: if(num==rev)
print(number is palindrome)
else
not palindrome.
Step 7: Stop.
Program:
#include <iostream>
using namespace std;
int main()
{
int num, n, digit, rev = 0;
cout << "Enter a positive number: ";
cin >> n;
num = n;
do
{
digit = n % 10;
rev = (rev * 10) + digit;
n = n / 10;
} while (n!=0);
cout << " The reverse of the number is: " << rev << endl;
if (num == rev)
cout << " The number is a palindrome.";
else
cout << " The number is not a palindrome.";
return 0;
}
Output:
Enter a number: 121
The number is palindrome
Explanation:
In the above code, the user is requested to enter a positive integer, which is saved in the variable n.
This integer variable is then assign to a variable called num, which is used to check if the original integer is same as the reversed value.
The last digit of the number is separated inside the do...while loop using the code digit = (n%10). The value of digit is then added to the rev variable.
To add the digit to the nth place in the number, we have to multiply the current data in the rev variable by 10 before adding the digit.
The do-while loop stops when the number becomes equal to zero. The original number, num, is then compared to the rev varibale.
The original number is palindrome if the numbers are equal; otherwise, it is not.
Example 3: Program to print Fibonacci Series using Do-While loop.
Algorithm:
Step 1: Start.
Step 2: Declare variable a, b, next, n, i.
Step 3: Initialize variable a=0, b=1 and i=2
Step 4: Read n from user.
Step 5: Print the value of a and b.
Step 6: Repeat until i<=n :
Next=a+b
print next
a=b, b=c
i=i+1
Step 7: Stop.
Program:
#include <iostream>
using namespace std;
int main()
{
int n, i, a=0, b=1, next=0;
cout << "Enter the number of terms: ";
cin >> n;
cout << "Fibonacci Series: ";
i=1;
do {
// Prints the first two terms //
if(i==1)
{
cout<<a<< ", ";
}
if(i==2)
{
cout<<b<< ", ";
}
next=a+b;
a=b;
b=next;
cout<<next<<",";
++i;
}
while(i<=n);
return 0;
}
Output:
Enter number of terms 5
0, 1, 1, 2, 3, 5, 8
Explanation:
Fibonacci series is the addition of the preceding two numbers.
In the code, we gave the first two values a=0 and b=1. And, then we use the do-while loop for generating the next terms. The loop adds the preceding values and print the sum of those values. This process performs repeatedly until the value of i becomes n.