本文へスキップ
BecomeCoder

C++コース · 第5章 配列と文字列 · レッスン19

配列 ― 同じ型の値を並べる

ブラウザで完結

導入

配列は、同じ型の値を連続して並べた入れ物です。番号(インデックス、0始まり)で各要素にアクセスします。

説明

型 名前[個数] = { 値, ... }; で宣言・初期化します。名前[番号] で各要素を読み書きします。番号(インデックス)は必ず 0 から始まることに注意してください。

flowchart LR
  subgraph A["int scores[3] = {80, 95, 70};"]
    direction LR
    i0["scores[0]<br/>80"]
    i1["scores[1]<br/>95"]
    i2["scores[2]<br/>70"]
  end
#include <iostream>
using namespace std;

int main() {
    int scores[3] = {80, 95, 70};
    cout << scores[0] << endl;   // 80(先頭)
    cout << scores[2] << endl;   // 70
    scores[1] = 100;             // 書き換え
    cout << scores[1] << endl;   // 100
    return 0;
}

for と組み合わせると、全要素をまとめて処理できます。合計を求める定番の形です。

#include <iostream>
using namespace std;

int main() {
    int nums[5] = {10, 20, 30, 40, 50};
    int total = 0;
    for (int i = 0; i < 5; i++) {
        total += nums[i];
    }
    cout << "合計 " << total << endl;   // 150
    return 0;
}

インデックスは 0 から始まり、個数 - 1 までです。範囲外(例 nums[5])を触ると、思わぬ値やエラーになるので注意します。

やってみよう

nums の中身や個数を変えて、合計がどう変わるか確かめましょう。for の中で nums[i] を1つずつ表示してみてください。

演習

int data[4] = {3, 6, 9, 12};最大値for で求めて表示してください(結果は 12)。

ヒント1を見る

int maxv = data[0]; から始め、for の中で if (data[i] > maxv) maxv = data[i];

実際に動かしてみよう

下のエディタにC++を書いて「実行」を押すと、ブラウザ内のインタプリタで出力が表示されます。本文の例をそのまま試したり、書き換えたりしてみましょう(cin を使う回は「標準入力」欄に値を入れてから実行します)。

C/C++ — ブラウザ内で実行

ブラウザ内でC/C++を動かす学習用インタプリタ(JSCPP)を読み込みます(入門向けのサブセットです)。
スクロールして表示された時点でも自動で読み込まれます。