ホームページ > バックエンド開発 > C++ > C++ を使用して配列から先頭のゼロを削除する

C++ を使用して配列から先頭のゼロを削除する

PHPz
リリース: 2023-09-05 11:13:11
転載
937 人が閲覧しました

C++ を使用して配列から先頭のゼロを削除する

配列が提供されており、私たちのタスクは、指定された配列から先頭のゼロを削除して、配列を出力することです。

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート