質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Q&A

解決済

2回答

607閲覧

単語を配列に入れたいのですが、やり方がわからないので教えてください。

JetSzero

総合スコア8

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

0グッド

0クリップ

投稿2022/11/29 05:22

まだ途中なのですが、最大10個の単語とその意味を入力してもらい、その意味を単語を入力するゲームを作成したいと思っております。単語とその意味を入力するのに、配列を使おうと思ったのですが、うまくいかず、1つ1つ変数を作り、代入する形にしています。

配列に入れる方法があるのでしたら、教えてください。
出来れば、初心者で、勉強を始めたばかりのため、分かりやすく教えていただきたいです。よろしくお願いします。

c++

1#include <iostream> 2using namespace std; 3int main() { 4 5 int num; 6 string Qword1; 7 string Qjapan1; 8 string Qword2; 9 string Qjapan2; 10 string Qword3; 11 string Qjapan3; 12 string Qword4; 13 string Qjapan4; 14 string Qword5; 15 string Qjapan5; 16 string Aword; 17 18 cout << "単語勉強アプリへようこそ!\n"; 19 cout << "何単語勉強しますか?(最大10個まで)\n"; 20 cin >> num; 21 22 cout << "1つ目の単語を入力してください\n"; 23 cin >> Qword1; 24 cout << Qword1 << "の意味を入力してください\n"; 25 cin >> Qjapan1; 26 cout << "2つ目の単語を入力してください\n"; 27 cin >> Qword2; 28 cout << Qword2 << "の意味を入力してください\n"; 29 cin >> Qjapan2; 30 cout << "3つ目の単語を入力してください\n"; 31 cin >> Qword3; 32 cout << Qword3 << "の意味を入力してください\n"; 33 cin >> Qjapan3; 34 cout << "4つ目の単語を入力してください\n"; 35 cin >> Qword4; 36 cout << Qword4 << "の意味を入力してください\n"; 37 cin >> Qjapan4; 38 cout << "5つ目の単語を入力してください\n"; 39 cin >> Qword5; 40 cout << Qword5 << "の意味を入力してください\n"; 41 cin >> Qjapan5; 42 43 return 0;

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fana

2022/11/29 06:09 編集

一応,なんか 回答のようなもの? を書きましたが… > 初心者で、勉強を始めたばかり という状況においては,現在やろうとしていることに対して必要な知識を得るところまで勉強を進めることを先に行うのが良いと思います. この手のサイトでのやり取りではどうしても話が断片的になるでしょうから,最初から読み進めていけるような形の本だとかWebサイトだとか,そういうのでまずは相応に学ぶのが良いでしょう.
guest

回答2

0

ベストアンサー

C++

1#include <iostream> 2#include <string> 3#include <vector> 4#include <utility> 5 6typedef std::pair<std::string,std::string> QandA; 7 8int main() { 9 10 int num; 11 12 std::cout << "単語勉強アプリへようこそ!\n" 13 "何単語勉強しますか?(最大10個まで)\n"; 14 std::cin >> num; 15 if ( num < 1 ) num = 1; 16 if ( num > 10 ) num = 10; 17 18 std::vector<QandA> qa(num); 19 20 num = 1; 21 for ( auto& item : qa ) { 22 std::cout << "単語 #" << num << " を入力してください\n"; 23 std::cin >> item.first; 24 std::cout << item.first << " の意味を入力してください\n"; 25 std::cin >> item.second; 26 ++num; 27 } 28 29 // できたかな? 30 for ( const auto& item : qa ) { 31 std::cout << item.first << " : " << item.second << std::endl; 32 } 33}

投稿2022/11/29 06:44

episteme

総合スコア16614

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

例えば string X[3]; という配列を定義したら,これは要素数が3個の配列であり,
要は「 X[0], X[1], X[2] という3つの変数が使えるぜ!(X0,X1,X2 みたく別々に書くより楽だぜ!)」
という話……みたいなあたりは大丈夫なんでしょうか?


とりあえず,最初のステップとして,大量に個別に定義している変数を,

string Qword[10]; //これで10個つかえる string QJapan[10]; //これで10個つかえる

とかにしてみるところから始めてみては.
そしたら,
cin >> Qword1; みたいな箇所が全部 cin >> Qword[0]; みたいな記述に置き換わりますよね.
まぁその時点ではまだ,これ系の処理が怒涛の10連続で書かれている状態になるでしょうからあまり嬉しいことは無いかもですが,まずはこの段階を飛ばさずにやっていくのが良いのではないかな,と.


で,次のステップとして,「この怒涛の10連続みたいなやつをループなりを使って纏められないのか?」という話に移ると良いでしょうけど,何はともあれ,そのためには相応に基礎的なところを学ぶ必要があると思います.

投稿2022/11/29 05:51

fana

総合スコア11675

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fana

2022/11/29 06:02 編集

int A0, A1, A2, (...中略...), A99; //100個 とかいうやつに A0 = 0; A1 = 1; A2 = 2; ... A99 = 99; っていうルールで値を入れていくとしたら,これはすっごい面倒. そこで配列ですよ. int A[100]; //100個 for( int i=0; i<100; ++i ){ A[i]=i; } //ルールに従い値を入れる処理をループで楽に書ける.とてもうれしい. …みたいな話がわかれば,本件でも同じようにやればよい. っていうようなところまでは,これはもう,まずは「本とかで学ぶ」以外に無いっすよ.
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問