C++ で機能するユーザー入力配列
- C++ の関数でユーザー入力として配列を取得する
- グローバル配列を宣言することによる関数内のユーザー入力配列
- 関数で配列を宣言することによる関数でのユーザー入力配列
- メイン関数で配列を宣言することによる関数内のユーザー入力配列
- まとめ
この記事では、C++ の関数でユーザーからの入力を配列に取り込む方法について説明します。
C++ の関数でユーザー入力として配列を取得する
C++ の関数でユーザー入力として配列を取得する方法は 3つあります。
- グローバル配列を宣言します。
- 関数で配列を宣言します。
- main 関数で配列を宣言し、それを関数に渡します。
グローバル配列を宣言することによる関数内のユーザー入力配列
アレイへのユーザー入力を取得するには、アレイにアクセスできる必要があります。最も簡単な方法の 1つは、グローバル配列を宣言することです。
グローバルスコープ内のすべての関数の外部で宣言するだけで、C++ でグローバル配列を宣言できます。また、配列のサイズを格納するグローバル変数を宣言する必要があります。
配列を宣言した後、任意のループを使用してすべての配列要素をループし、ユーザー入力を現在の配列インデックスに格納する必要があります。
ソースコード:
#include <iostream>
using namespace std;
int size = 5;
int arr[5];
void userInput() {
cout << "Enter array elements" << endl;
for (int i = 0; i < size; i++) {
cin >> arr[i];
}
}
void print() {
cout << "Array elements are:" << endl;
for (int i = 0; i < size; i++) cout << arr[i] << " ";
cout << endl;
}
int main() {
userInput();
print();
return 0;
}
この場合、配列のサイズは、size
のような変数ではなく、整数で指定する必要があることに注意してください。
出力:
Enter array elements
1 8 5 3 7
Array elements are:
1 8 5 3 7
関数で配列を宣言することによる関数でのユーザー入力配列
配列にアクセスしてユーザーデータを入力する別の方法は、関数自体の中で配列を宣言することです。
このように、関数にはローカル配列があり、ループを使用してそれをトラバースできます。次に、ユーザー入力を要求して配列に格納できます。
ソースコード:
#include <iostream>
using namespace std;
void userInput() {
int size = 5;
int arr[size];
cout << "Enter array elements" << endl;
for (int i = 0; i < size; i++) {
cin >> arr[i];
}
cout << "Array elements are:" << endl;
for (int i = 0; i < size; i++) cout << arr[i] << " ";
cout << endl;
}
int main() {
userInput();
return 0;
}
出力:
Enter array elements
8 4 7 2 2
Array elements are:
8 4 7 2 2
メイン関数で配列を宣言することによる関数内のユーザー入力配列
main 関数で配列を宣言すると、ユーザー入力を取得している関数内で配列に直接アクセスすることはできません。したがって、配列をパラメーターとして関数と配列のサイズに渡す必要があります。
配列はデフォルトで参照によって渡されるため、関数で配列に加えた変更は、メイン関数の配列に表示されます。この方法で割り当てを完了することができます。
ソースコード:
#include <iostream>
using namespace std;
void userInput(int arr[], int size) {
cout << "Enter array elements" << endl;
for (int i = 0; i < size; i++) {
cin >> arr[i];
}
}
void print(int arr[], int size) {
cout << "Array elements are:" << endl;
for (int i = 0; i < size; i++) cout << arr[i] << " ";
cout << endl;
}
int main() {
int size = 5;
int arr[size];
userInput(arr, size);
print(arr, size);
return 0;
}
配列は、int arr
などのポインタとして送信できます。違いはありません。
出力:
Enter array elements
4 5 9 7 2
Array elements are:
4 5 9 7 2
まとめ
C++ の関数の配列にユーザーデータを入力する 3つの異なる方法を見てきました。
3つの方法はすべて正常に機能しますが、(最後の方法のように)main 関数で配列を定義して、グローバル変数に関連するあいまいさの可能性を作成せずに他の関数にも配列を渡すことができるようにすることをお勧めします。