要素の変更
CoddyのC++ジャーニー「基礎」セクションの一部 — レッスン 60/74。
配列の要素にアクセスすることに加えて、それらを変更することもできます。配列内の特定の要素を変更するには、インデックスを使用して新しい値を代入します。
以下に例を示します:
std::string my_array[] = {"apple", "banana", "cherry"};
my_array[1] = "orange";
std::cout << my_array[0] << ", " << my_array[1] << ", " << my_array[2] << std::endl;出力:
apple, orange, cherrybanana は orange に変更されました
チャレンジ
簡単以下の処理を行うプログラムを作成してください:
- 次の順序で3つの入力を受け取ります:
n: 配列の要素数index: インデックス位置 (0 から n-1)newElement: 新しい値 (文字列)
- 次に、配列に格納する
n個の文字列を受け取ります indexの位置にある要素をnewElementの値で置き換えて、配列を修正します- 最後に、修正された配列のすべての要素を1行に1つずつ出力します
例えば、以下の入力の場合:
3
1
hello
apple
banana
cherry出力は以下のようになります:
apple
hello
cherry解説: 3つの要素があります。インデックス 1 の要素 (banana) を "hello" に置き換えます。
チートシート
配列の要素を変更するには、インデックスを使用して新しい値を代入します。
std::string my_array[] = {"apple", "banana", "cherry"};
my_array[1] = "orange"; // "banana" を "orange" に変更します自分で試してみよう
#include <iostream>
#include <string>
int main() {
int n;
int index;
std::string newElement;
std::cin >> n;
std::cin >> index;
std::cin.ignore();
std::getline(std::cin, newElement);
std::string arr[n];
// n、index、arr、newElement を使用して問題を解決してください
// 必要に応じて追加の変数を宣言することもできます
for (int i = 0; i < n; i++) {
// arr に値を格納する
// 文字列の値を読み取り、それを arr[i] に保存する
}
// arr を修正する
// 位置 'index' の要素を 'newElement' に設定する
// arr を出力する
// 配列をループして各要素を出力する
return 0;
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。