ベクタのサイズ
CoddyのC++ジャーニー「論理と制御フロー」セクションの一部 — レッスン 13/56。
ベクターを操作するとき、その中にいくつの要素が含まれているかを知る必要があることがよくあります。.size() メソッドはまさにこの情報を提供します。これは、ベクターに格納されている現在の要素数を返します。
.size() メソッドの使い方は以下の通りです:
std::vector<int> numbers = {10, 20, 30, 40, 50};
int count = numbers.size();
std::cout << "The vector has " << count << " elements" << std::endl;ベクタに5つの整数が含まれているため、これは "The vector has 5 elements" と出力します。
.size() メソッドは、ベクターが空かどうかを確認したり、配列の境界を検証したり、ループを設定したりする必要がある場合に特に便利です。これは、現在ベクター内にある要素の正確な数を示す符号なし整数を返し、このカウントは push_back() のようなメソッドを使用して要素を追加または削除すると自動的に更新されます。
チャレンジ
簡単学生のスコアのコレクションを構築しながら、.size() メソッドを使用してベクタ内の要素数を追跡する方法を示すプログラムを作成してください。
以下の入力が提供されます:
- 処理する学生のスコアの数を示す整数
n - その後に続く、個々の学生のスコアを示す
n個の整数
プログラムは以下の手順で行う必要があります:
scoresという名前の空のstd::vector<int>を作成する- 空のベクタの初期サイズを出力する
- ループを使用して
n個の学生のスコアをそれぞれ読み込む - 各スコアについて、
push_back()を使用してベクタに追加する - 各スコアを追加した後、ベクタの現在のサイズを出力する
- 最後に、収集されたスコアの総数を示す要約メッセージを出力する
以下の正確な出力形式を使用してください:
Initial vector size: 0
After adding score, size is: 1
After adding score, size is: 2
After adding score, size is: 3
...
Total scores collected: [final size]各追加後および最終的な要約のために、ベクタ内の現在の要素数を取得するには .size() メソッドを使用してください。
チートシート
.size() メソッドは、ベクタ内の現在の要素数を返します:
std::vector<int> numbers = {10, 20, 30, 40, 50};
int count = numbers.size();
std::cout << "The vector has " << count << " elements" << std::endl;.size() メソッドは符号なし整数を返し、要素を追加または削除すると自動的に更新されます。これは、ベクタが空かどうかの確認、配列の境界の検証、またはループの設定に役立ちます。
自分で試してみよう
#include <iostream>
#include <vector>
using namespace std;
int main() {
// スコアの数を読み込む
int n;
cin >> n;
// スコア用の空のベクターを作成する
vector<int> scores;
// TODO: 以下にコードを記述してください
// 1. 空のベクターの初期サイズを表示する
// 2. ループを使用して各スコアを読み込み、ベクターに追加する
// 3. 各スコアを追加した後、現在のサイズを表示する
// 4. 最終的な要約メッセージを表示する
return 0;
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。