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

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

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

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

解決済

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

JetSzero
JetSzero

総合スコア8

配列

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

2回答

0グッド

0クリップ

282閲覧

投稿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;

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

fana

2022/11/29 06:09 編集

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

回答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

総合スコア15985

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

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

総合スコア10636

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

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; } //ルールに従い値を入れる処理をループで楽に書ける.とてもうれしい. …みたいな話がわかれば,本件でも同じようにやればよい. っていうようなところまでは,これはもう,まずは「本とかで学ぶ」以外に無いっすよ.

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

ただいまの回答率
86.12%

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

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

質問する

関連した質問

同じタグがついた質問を見る

配列

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