配列が提供されており、私たちのタスクは、指定された配列から先頭のゼロを削除して、配列を出力することです。
Input : arr[] = {0, 0, 0, 1, 2, 3} Output : 1 2 3 Input : arr[] = {0, 0, 0, 1, 0, 2, 3} Output : 1 0 2 3
指定された問題で、前の配列の先頭のゼロを含まない新しい配列を作成できます。
この方法では、配列を反復処理し、先頭のゼロを除くすべての数値を挿入します。
#include <iostream> using namespace std; int main() { int arr[] = {0, 0, 0, 1, 2, 0, 4}; int n = sizeof(arr) / sizeof(int); // size of given array. int last = -1; for(int i = 0; i < n; i++) { // finding the first non zero element if(arr[i] != 0) { last = i; break; } } if(last == -1) cout << "Empty\n"; else { int b[n - last]; // the new array. for(int i = last; i < n; i++) // inserting the elements in the new array b[i-last] = arr[i]; for(int i = 0; i < n-last; i++) // printing the array cout << b[i] << " "; } }
1 2 0 4
指定されたプログラムでは、まず配列 arr を反復処理し、最初の非配列を見つけます。ゼロ要素のインデックス。last という名前の変数に格納されます。走査後に last が -1 の場合は、配列全体がゼロで構成されていることを意味するため、「Empty」と出力します。
最初の非ゼロ要素のインデックスがわかったので、新しい配列のサイズ (n - last) を決定し、最後から n までの for ループを実行します。 -1。これらの要素を新しい配列に挿入し、新しい配列を出力します。
この記事では、配列から先頭のゼロを削除する問題を解決しました。また、この問題を解決するための C プログラムと完全な解決策も学びました。同じプログラムを C、Java、Python などの他の言語で書くことができます。この記事がお役に立てば幸いです。
以上がC++ を使用して配列から先頭のゼロを削除するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。