C++ Tutorial Index

C++ Tutorial C++ History C++ Installation C++ First Program C++ cin and cout C++ Data type C++ Variable C++ operator C++ Keywords

C++ Control Statements

C++ If C++ Nested if C++ If-else C++ If-else-if C++ Switch C++ Break C++ Continue C++ Goto C++ For loop C++ While loop C++ Do while loop

C++ Functions

C++ Call by Value C++ Call by Reference C++ Recursion Function C++ Inline function C++ Friend function

C++ Arrays

Single dimension array Two dimension array

C++ Strings

C++ Strings

C++ Inheritance

C++ Inheritance Single level Inheritance Multilevel Inheritance Multiple Inheritance Hierarchical Inheritance Hybrid Inheritance

C++ Polymorphism

C++ Polymorphism C++ Overloading C++ Overriding C++ Virtual Function

C++ Pointers

C++ Pointers C++ this pointer

C++ Exception Handling

C++ Exception Handling

C++ Constructors

C++ Constructors Default Constructor Parameterize Constructor Copy constructor Constructor Overloading Destructor

C++ File Handling

C++ File Handling C++ Writing to file C++ Reading file C++ Close file

Miscellaneous

C Vs C++ C++ Comments C++ Data Abstraction C++ Identifier C++ Memory Management C++ Storage Classes C++ Void Pointer C++ Array To Function C++ Expressions C++ Features C++ Interfaces C++ Encapsulation std::min in C++ External merge sort in C++ Remove duplicates from sorted array in C++ Precision of floating point numbers Using these functions floor(), ceil(), trunc(), round() and setprecision() in C++ C++ References C++ Friend Functions C++ Mutable keyword Unary Operators in C++ Initialize Array of objects with parameterized constructors in C++ Differences between #define & const in C/C++ C++ Program to Implement Shell Sort C++ Program to Implement Merge Sort Storage Classes in C Vector resize() in C++ Passing by Reference Vs. Passing by the pointer in C++ Free vs delete() in C++ goto statement in C and C++ C++ program to read string using cin.getline() C++ String Concatenation Heap Sort in C++ Swap numbers in C++ Input Iterators in C++ Fibonacci Series in C++ C ++ Program: Alphabet Triangle and Number Triangle C++ Program: Matrix Multiplication C++ Program to Print Fibonacci Triangle Stack in C++ Maps in C++ Queue in C++ C++ Bitset C++ Algorithms Priority Queue in C++ C++ Multimap C++ Deque Function Pointer in C++ Sizeof() Operators in C++ C++ array of Pointers free() Vs delete in C Timsort Implementation Using C++ CPP Templates C++ Aggregation C++ Enumeration C++ Math Functions C++ Object Class C++ Queue Initialize Vector in C++ Vector in C++ C++ STL Components Function overloading in C++ C++ Maximum Index Problem C++ find missing in the second array C++ Program to find the product array puzzle C++ Program To Find Largest Subarray With 0 Sum C++ Program To Move All Zeros To The End Of The Array C++ Program to find the element that occurs once C++ Program to find the largest number formed from an array Constructor Vs Destructor C++ Namespaces C++ OOPs Concept C++ Static C++ Structs C++ Try-Catch C++ User Defined Exceptions C++ Virtual Destructor C++ vs C# Malloc() and new in C++ Palindrome Number Program in C++ Snake Code in C++ Splitting a string in C++ Structure Vs Class in C++ Virtual Function Vs Pure Virtual Function C++ Bidirectional Iterators C++ Forward Iterators C++ Iterators C++ Output Iterators C++ Range-based For Loop Converting string into integer in C++ LCM Program in C++ Type conversion in C++ Add two numbers using the function in C++ Advantage and disadvantage friend function C++ Armstrong Number Program in C++ ATM machine program in C++ using functions Binary to Decimal in C++ Bit Manipulation in C++ C++ Constructor C++ Dijkstra Algorithm Using the Priority Queue C++ int into String C++ Signal Handling Decimal to Binary in C++ Decimal to Hexadecimal in C++ Decimal to Octal in C++ Factorial Program in C++ Function in C++ Hexadecimal to Decimal in C++ Octal to Decimal in C++ Reverse a Number in C++ Structure Vs Class in C++ C++ Forward Iterators C++ Output Iterators C++ Prime number program Char Array to String in C++ Constructor Overloading in C++ Default arguments in C++ Different Ways to Compare Strings in C++ Dynamic Binding in C++ Program to convert infix to postfix expression in C++ SET Data Structure in C++ Upcasting and Downcasting in C++ Reverse an Array in C++ Fast Input and Output in C++ Delete Operator in C++ Copy elision in C++ C++ Date and Time C++ Bitwise XOR Operator Array of sets in C++ Binary Operator Overloading in C++ Binary Search in C++ Implementing the sets without C++ STL containers Scope Resolution Operator in C++ Smart pointers in C++ Types of polymorphism in C++ Exception Handling in C++ vs Java Const Keyword in C++ Type Casting in C++ Static keyword in C++ vs Java Inheritance in C++ vs Java How to concatenate two strings in C++ Programs to Print Pyramid Patterns in C++ swap() function in C++ Structure of C++ Program Stringstream in C++ and its applications rand() and srand() in C / C++ C++ Ternary Operator C++ Scope of Variables While Loop Examples in C++ Star pattern in C++ using For Loops For Loop Examples in C++ Do-While Loop Examples in C++ Top 5 IDEs for C++ That You Should Try Once Assertions in C/C++ C++ Convert Int to String Continue in C++ While loop Diamond Pattern in C++ using For Loop How to Reverse a String in C++ using Do-While Loop How to Reverse a String in C++ using For Loop How to Reverse a String in C++ using While Loop Infinite loop in C++ Loops in C++

Decimal to Octal in C++

We must create a software that converts a decimal number into an equal octal number given a decimal number as input i.e. convert a number having a base value of 10 to a number with a base value of 8. The number of digits used to represent a numeric value is determined by the base value of a number system.

Example of a program to convert decimal to octal in C++:

// C++ program to convert a decimal
// number to octal number
#include < iostream >
#include < bits/stdc++.h >
#include < stdlib >
using namespace std ; 
// function to convert decimal to octal
void decimalToOctal ( int n )
{
	// array to store octal number
	int octalNumber [ 100 ] ; 
	// counter for octal number array
	int i = 0 ;
	while ( n != 0 ) {
		// storing remainder in octal array
		octalNumber [ i ] = n % 8 ;
		n = n / 8 ;
		i++ ;
	}
	// printing octal number array in reverse order
	for ( int j = i - 1 ; j >= 0 ; j-- )
		cout << octalNumber [ j ] ;
}
// Driver Code
int main ( )
{
	int n = 16 ; 
	// Function Call
	decimalToOctal ( n ) ; 
	return 0;
}

OUTPUT:

20
…..
Process executed in 0.11 seconds
Press any key to continue.

Explanation:

  • When 16 is divided by 8, the remainder is 0. As a result, arr [ 0 ] = 0.
  • 16 divided by 8 equals 16 / 8 = 2 is the new number.
  • When 2 is divided by 8, the remainder is 2. As a result, arr [ 1 ] = 2.
  • 2 divided by 8, 2 / 8 = 0 is the new number.
  • Since the number is equal to zero,
  • Stop repeating the steps and print the array backwards. As a result, the octal number equivalent is 20.
  • Time Complexity will be 0 ( logn ).

Let us see another example of a code with 0 ( 1 ) space complexity in C++:

Let us see another example of a code with 0 ( 1 ) space complexity in C++:
// C++ program to convert decimal
// number to octal number
#include < iostream >
#include < bits/stdc++.h >
#include < stdlib >
using namespace std ; 
// function to calculate the octal value of the given
// decimal number
void decimaltoOctal ( int decimalNumber )
{
	// initializations
	int octalNumber = 0 , countvalue = 1 ;
	int dNo = decimalNumber ;
	while ( decimalNumber != 0 ) {
		// decimals remainder is calculated
		int remainder = decimalNumber % 8 ; 
		// storing the octalvalue
		octalNumber += remainder * countval ; 
		// storing exponential value
		countvalue = countvalue * 10 ;
		decimalNumber /= 8 ;
	}
	cout << octalNumber << endl ;
}
// Driver Code
int main ( )
{
	int n = 16 ; 
	// Function Call
	decimaltoOctal ( n ) ;
	return 0 ;
}

OUTPUT:

20
….
Process executed in 0.11 seconds
Press any key to continue.

Explanation:

  • Set the octal num to 0 and the countValue to 1, as well as the decimal number to n.
  • When a decimal number is divided by 8, get the remaining.
  • Updating by octalNumber + (remainder * countvalue)
  • Countvalue should be multiplied by countvalue * 10.
  • 8 times a decimal number
  • Continue from step 2 until the decimal number reaches zero.

Let us look at another example of a program in C++ using pre defined function:

#include < bits/stdc++.h >
#include < iostream >
#include < stdlib >
using namespace std ; 
string intToOctalnum ( int n )
{
	stringstream st ;
	st << octn << n ;
	return st.str ( ) ;
}
int main ( )
{
	int n = 16 ;
	cout << intToOctalnum ( n ) ;
	return 0 ;
}

OUTPUT:

20
….
Process executed in 0.11 seconds
Press any key to continue.

Explanation:

In the above program, we have made a string function and named it as intToOctalnum and passing the decimal number as the parameter and in the main function we are making a call to function intToOctalnum.

Another example of pre defined function without using string:

#include <iostream>
using namespace std; 
long decimalToOctalnum ( long n );
int main ( ) {
    long decimalnum ;
    cout << "enter a decimal number\n";
    cin >> decimalnum;
    cout << "Octal number : " << decimalToOctalnum ( decimalnum ) ; 
    return 0;
}
long decimalToOctalnum ( long n ) {
    int remainder ; 
    long octal = 0 , i = 1 ;
   
    while ( n != 0 ) {
        remainder = n % 8 ;
        n = n / 8 ;
        octal = octal + (remainder*i);
        i = i*10;
    }
    return octal;
}

OUTPUT:

Enter a decimal number 16
Octal number: 20
………………………………………
Process executed in 0.11 seconds
Press any key to continue.

Explanation:

In the C++ program above, we accept an integer from the user and store it in the variable decimalnum. Then, using the above-mentioned procedure, we call the decimalToOctalnum function to convert the decimal function to an octal number.



ADVERTISEMENT
ADVERTISEMENT