Problem

2/9

配列要素へのアクセス

Theory Click to read/hide

配列要素を参照します。

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

覚えておいてください: C# 配列の番号付けは 0 から始まります。< br />
配列 A へのアクセスの例:
<プレ> int x = (A[3] + 5) * A[1] / / 値 A[3] と A[1] を読み取ります A[0] = x + 6 // 新しい値を A[0] に書き込みます 配列要素を操作するプログラムを分析してみましょう。 <プレ> int i = 1; int[] A = 新しい int[5]; // 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[1] + 2*A[0] + A[2]; Console.Write((A[2] + A[4])); このプログラムを実行した結果、配列の要素の合計の値がインデックス 2 とインデックス 4 は、 116 に等しい画面に表示されます。 この例からわかるように、配列の任意の要素にアクセスできます。また、さまざまな式を使用して必要な要素番号を計算します (たとえば、プログラム A[i-1] または A[2*i] のように、これらの場合は、要素インデックスは計算され、i の値に応じて異なります)。

サンプルプログラムを分析してみましょう。
<プレ> int N = 5; int[] A = 新しい int[N]; int x = 1; A[x + 4] = A[x] + A[2 * (x + 1)];  // 式と計算に x を代入した後                            // 次の行を取得 A[5] = A[1] + A[4]                           // A[5] そのような要素は存在しません                           // エラー - 配列の範囲外です 配列は 5 つの要素で宣言されています。つまり、要素には 0 から 0 までの番号が付けられます。 4. 6 行目のプログラムが存在しない要素 A[5] を参照していることがわかります。
プログラムが配列の範囲を超えていることが
判明しました。 配列オーバーランとは、配列内に存在しないインデックスの要素へのアクセスです。
このような場合、通常、プログラムは実行時エラーでクラッシュします。

 

Problem

9 行目から 12 行目で、インデックス 1 から 4 の配列要素を値の 2 倍に設定します。配列の前の要素。 
このタスクでは、特定の番号を割り当てることはできません。名前とインデックスで配列の前の要素、つまりレコードを参照する必要があります
A[1] = 46 は無効と見なされます。