1、2、3を数字として昇順で並べた配列を出力します
ここでのタスクは、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
-
配列の左回転をCプログラムのO(n)時間とO(1)空間で出力します。
いくつかのサイズnと複数の整数値の配列が与えられているので、与えられたインデックスkから配列を回転させる必要があります。 -のようなインデックスkから配列を回転させたい 例 Input: arr[] = {1, 2, 3, 4, 5} K1 = 1 K2 = 3 K3 = 6 Output: 2 3 4 5 1 4 5 1 2 3 2 3 4 5 1 アルゴリズム START Step 1 -> Declare functio
-
Cプログラムで、配列内の最後に出現する要素を相対的な順序で出力します。
要素を含む配列a[]が与えられ、タスクは、リスト内の指定された要素の最後の出現を出力することです。ここでは、重複する要素を削除するだけでなく、配列内の要素が最後に発生したときの順序を維持する必要があります。 6つの要素の配列があり、いくつかの重複する値、つまり{1,3、2、3、1、2}も含まれているため、結果は312の形式になります。 例 Input: a[]={4,2,2,4,1,5,1} Output : 2 4 5 1 アルゴリズム START Step 1-> Declare function void printelements(int a[], int n) &nbs