এখানে, কাজ হল সেই সংখ্যাগুলিকে একটি অ্যারেতে প্রিন্ট করা যার সংখ্যাগুলির মধ্যে 1, 2 এবং 3 সংখ্যা রয়েছে এবং যদি তাদের সংখ্যা না হয় তবে আউটপুট অবশ্যই -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.
অ্যালগরিদম
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
উদাহরণ
#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(""); } }
আউটপুট
যদি আমরা উপরের প্রোগ্রামটি চালাই তাহলে এটি নিম্নলিখিত আউটপুট তৈরি করবে
123 3123 14532 100032 123400