
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Print an Array with Numbers Having 1, 2, and 3 as Digits in Ascending Order
Here, the task is to print those number in an array having 1, 2 and 3 as digits in their numbers and if their is no such number than the output must be -1
Input : arr[] = {320,123,124,125,14532,126,340,123400,100032,13,32,3123,1100} Output : 123 3123 14532 100032 123400 Since the array have values with digits 1, 2 and 3 it wouldn’t return -1 and print 5 values that Contain 1, 2 and 3 in their respective numbers.
Algorithm
START Step 1 -> Declare array with elements of int type as arr Step 2 -> store size of array in int n Step 3 -> declare int variable as one, two, three Step 4 -> call sort functions with parameters as arr and arr+n Step 5 -> declare variable of type osrtingstream as st and string as num Step 6 -> Loop For i=0 and i<n and ++i Set one=two=three=1 Print arr[i] Set num=st.str() Set one=num.find("1") Set two=num.find("2") Set three=num.find("3") IF((one!=-1)&&(two!=-1)&&(three!=-1)) Print num End Call st.str(‘’”) end STOP
Example
#include <bits/stdc++.h> #include<string.h> #include<sstream> using namespace std; int main() { int arr[] = {320,123,124,125,14532,126,340,123400,100032,13,32,3123,1100}; int n = sizeof(arr)/sizeof(arr[0]); int one,two,three; sort(arr, arr+n); ostringstream st; string num; for (int i = 0; i < n; ++i) { one=two=three=-1; st << arr[i]; num=st.str(); one=num.find("1"); two=num.find("2"); three=num.find("3"); if((one!=-1)&&(two!=-1)&&(three!=-1)) { cout<<num<<" "; } st.str(""); } }
Output
if we run the above program then it will generate the following output
123 3123 14532 100032 123400
Advertisements