C++ で正の数と負の数を数える

C++Beginner
オンラインで実践に進む

はじめに

この実験では、配列内の正の数と負の数の数を数えるための C++ プログラムを書く方法を学びます。このプログラムは、ユーザーから整数の配列を入力として受け取り、配列内の正の整数と負の整数の数を数えます。

新しい C++ ファイルを作成する

次のコマンドを使用して、~/project ディレクトリに名前が main.cpp の新しいファイルを作成します。

touch ~/project/main.cpp

必要なヘッダーファイルをインクルードする

このプログラムは、ユーザーとの入出力操作を行うために iostream ライブラリの使用が必要です。次のコードは、このライブラリをプログラムにインクルードしています。

#include <iostream>
using namespace std;

変数を宣言してユーザー入力を求める

このプログラムはまず、配列内の正の整数、負の整数、ゼロの整数の数を保持するための整数型の変数を宣言します。その後、ユーザーに配列のサイズを入力するように促し、続いて配列要素を入力するように促します。次のコードブロックがこの操作を行います。

int main()
{
  int a[100], i, n, zero = 0, pos = 0, neg = 0;

  cout << "Enter the size of an array:\n";
  cin >> n;

  cout << "Enter the elements:\n";
  for(i = 0; i < n; i++)
  {
    cin >> a[i];
  }
}

正の整数、負の整数、ゼロの整数の数を数える

次に、このプログラムは各配列要素をループして、それらが正、負、またはゼロであるかどうかをチェックします。そして、遭遇したそれぞれの値に対応する適切なカウンタ変数をインクリメントします。次のコードブロックがこの操作を行います。

  for(i = 0; i < n; i++)
  {
    if(a[i] > 0)
      pos++;
    else if(a[i] < 0)
      neg++;
    else
      zero++;
  }

正の整数、負の整数、ゼロの整数の数を表示する

最後に、このプログラムは配列に含まれる正の整数、負の整数、ゼロの整数の数を表示します。次のコードブロックがこの操作を行います。

  cout << "\nPositive numbers: " << pos << endl;
  cout << "Negative numbers: " << neg << endl;
  cout << "Zeroes: " << zero << endl;

  return 0;
}

プログラムをコンパイルして実行する

次に、以下のコマンドを使用してプログラムをコンパイルします。

g++ ~/project/main.cpp -o main

コンパイルが成功した後、以下のコマンドを使用してプログラムを実行します。

./main

完成コード

このプログラムの完成コードを以下に示します。

#include <iostream>
using namespace std;

int main()
{
  int a[100], i, n, zero = 0, pos = 0, neg = 0;

  cout << "Enter the size of an array:\n";
  cin >> n;

  cout << "Enter the elements:\n";
  for(i = 0; i < n; i++)
  {
    cin >> a[i];
  }

  for(i = 0; i < n; i++)
  {
    if(a[i] > 0)
      pos++;
    else if(a[i] < 0)
      neg++;
    else
      zero++;
  }

  cout << "\nPositive numbers: " << pos << endl;
  cout << "Negative numbers: " << neg << endl;
  cout << "Zeroes: " << zero << endl;

  return 0;
}

まとめ

この実験では、配列内の正の数と負の数の数を数えるための C++ プログラムを書く方法を学びました。このプログラムは、ユーザーから整数の配列を入力として受け取り、配列内の正の整数と負の整数の数を数えます。このプログラムは、データ配列を分析する際に役立つ場合があります。