งานคือพิมพ์ตัวเลขในอาร์เรย์ที่มีหลัก 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
อัลกอริทึม
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 ostringstream as st and string as num Step 6 -> Loop For i=0 and iตัวอย่างโค้ด (C++)
#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