C++ですべてのゼロを配列の最後に移動します
複数のゼロを含む配列を指定します。配列内のすべてのゼロを最後まで移動する必要があります。例を見てみましょう。
入力
arr = [4, 5, 0, 3, 2, 0, 0, 0, 5, 0, 1]
出力
4 5 3 2 5 1 0 0 0 0 0
アルゴリズム
-
アレイを初期化します。
-
インデックスを0に初期化します。
-
指定された配列を繰り返し処理します。
-
現在の要素がゼロでない場合は、インデックスの値を現在の要素で更新します。
-
インデックスをインクリメントします。
-
-
上記のインデックスからnまで繰り返すループを作成します
-
すべての要素を0に更新します。
-
実装
以下は、C++での上記のアルゴリズムの実装です
#include <bits/stdc++.h> using namespace std; void moveZeroesToEnd(int arr[], int n) { int index = 0; for (int i = 0; i < n; i++) { if (arr[i] != 0) { arr[index++] = arr[i]; } } while (index < n) { arr[index++] = 0; } } int main() { int arr[] = {4, 5, 0, 3, 2, 0, 0, 0, 5, 0, 1}; int n = 11; moveZeroesToEnd(arr, n); for (int i = 0; i < n; i++) { cout << arr[i] << " "; } cout << endl; return 0; }
出力
上記のコードを実行すると、次の結果が得られます。
4 5 3 2 5 1 0 0 0 0 0
-
C++の配列内のすべての素数の積
いくつかの要素を持つ整数配列arr[]が与えられた場合、タスクはその数のすべての素数の積を見つけることです。 素数は、1で割った数、またはその数自体です。または、素数は、1とその数自体を除いて他の数で割り切れない数です。 1、2、3、5、7、11など 与えられた配列の解を見つける必要があります- 入力 −arr [] ={11、20、31、4、5、6、70} 出力 − 1705 説明 −配列の素数は− 11、31、5であり、それらの積は1705 入力 − arr [] ={1、2、3、4、5、6、7} 出力 − 210 説明 −配列の素数は− 1、2、3、5、7
-
Pythonのリスト内包表記を使用して、すべてのゼロを配列の最後に移動します
数値のリストが与えられたら、リスト内包表記を使用してすべてのゼロを最後に移動します。たとえば、[1、3、0、4、0、5、6、0、7]の結果は[1、3、4、5、6、7、0、0、0]です。 これは、リスト内包表記を使用した1行のコードです。結果を得るには、次の手順を参照してください。 番号のリストを初期化します。 リストから非ゼロを生成し、リストからゼロを生成します。両方を追加します。結果をリストに保存します。 新しいリストを印刷します。 例 # initializing a list numbers = [1, 3, 0, 4, 0, 5, 6, 0, 7] # movi