Problem

4/12

配列要素へのアクセス

Theory Click to read/hide

配列要素の参照

配列の有用性の多くは、その要素に個別にアクセスできるという事実から生まれます。
これを行う方法は、インデックスを使用して要素に番号を付けることです。

覚えておいてください!
C の配列の番号はゼロから始まります。

(これは必須です。最初から始める必要があります。これは特に覚えておくことが重要です)

配列 A へのアクセスの例: <プレ> x = (A[3] + 5)*A[1]; // A[3] と A[1] の値を読み取る A[0] = x + 6; // 新しい値を A[0] に書き込みます 配列要素を操作するプログラムを分析してみましょう。 <プレ> #include <iostream> 名前空間 std を使用します。 主要() { int i=1, A[5]; A[0] = 23; // 配列の 5 つの要素のそれぞれに (0 から 4 までのインデックス) A[1] = 12; //特定の値を書き込む A[2] = 7; A[3] = 43; A[4] = 51; A[2] = A[i] + 2*A[i-1] + A[2*i]; // インデックス 2 の要素の値を式の結果に変更します // i=1 なので、得られた式に変数 i の値を代入します。 //次の式 A[2] = A[i] + 2*A[0] + A[2]; cout << A[2]+A[4]; } このプログラムを実行すると、インデックス 2 が 116 である配列要素の値が画面に表示されます。例からわかるように、配列。また、さまざまな式を使用して必要な要素の数を計算します (たとえば、プログラム A[i-1] または A[2*i] のように、これらの場合、要素のインデックスが計算され、要素のインデックスに依存します)。 i の値)

プログラム例を見てみましょう <プレ> <コード>#include 名前空間 std を使用します。 主要() { const int N = 5; int A[N]; x = 1; cout << A[x-3]; //要素 A[-2] への参照 A[x+4]=A[x]+A[2*(x+1)]; // x を式と計算に代入すると、次の行が得られます: A[5] = A[1]+A[ 4]; ... } なぜなら配列は 5 つの要素で宣言されています。つまり、 要素には 0 から 4 までの番号が付けられます。プログラムが存在しない要素にアクセスしていることがわかります: A[-2] とA[5]
プログラムが配列の範囲を超えていたことが
判明しました。
範囲外の配列は、配列内に存在しないインデックスを持つ要素にアクセスしています。

このような場合、通常、プログラムは実行時エラー
でクラッシュします。
自分で配列要素を操作してみましょう。 タスクを完了する
 

Problem

6 ~ 9 行目で、インデックス 1 ~ 4 の配列要素を前の配列要素の値の 2 倍に設定します。 
このタスクでは、特定の番号を割り当てることはできません。配列の前の要素を名前とインデックスで参照する必要があります
つまり、A[1]=46 の書き込みは正しくないと見なされます。