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

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

新規登録して質問してみよう
ただいま回答率
85.48%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

4回答

2098閲覧

C++ データにタグのようなものを設けたい

YNN35

総合スコア22

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2019/02/12 12:16

前提・実現したいこと

C++でデータにタグのようなものを設けたいのですが、どのようにすればいいのでしょうか?
プログラム処理の上で指定の座標上にある物体のIDを引き出したいという感じです。
具体的な例として

一年生 Maki,Rin
二年生 Honoka,Kotori,Umi
三年生 Nico

というデータがあるさいHonokaを入力したら二年生と返してくれるプログラムを作りたいということです。
なおここで言う一二三年生のようなタグは大量に生成したいのでそれぞれのタグに別々の配列を定義し、用意するというわけには行きません...

現在あるアイディア

2次元配列を利用し、タグとタグの中身で構成されるデータを作成するという方法もありますがタグによりデータの要素数が異なるため以下のように無駄に空きのスペースができたりしてしまうのであまり望ましいとは言えません。

一年生二年生三年生
MakiHonokaNico
RinKotori
Umi

どうかこのような問題を解決できるような回答お願いします!

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

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

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

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

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

guest

回答4

0

ベストアンサー

名前の方をキー、タグを値にしてstd::unordered_mapcpprefjp)に入れてしまえばいいのではないかと思います。

C++には、STLによるデータ構造も各種用意されています。

投稿2019/02/12 12:26

maisumakun

総合スコア145183

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

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

0

multimap<string,string>
あるいは
map<string,vector<string>> あたりで。

...ごめん。1→N じゃなく N→1 対応なのか。なら set<string,string> で十分やね。

投稿2019/02/12 18:34

編集2019/02/13 09:43
episteme

総合スコア16614

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

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

0

C++では、色々と機能が増えているようですが、、、
単純に構造体の配列ではだめでしょうか?

struct { string Name; int Year; }

と云うような構造体を配列または、リストで持つ。
まあ、mapとか、dictonary とかを自前で実装する感じですが。

投稿2019/02/12 12:48

pepperleaf

総合スコア6383

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

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

0

std::vectorで持たせてはいかがでしょうか。

投稿2019/02/12 12:26

yumetodo

総合スコア5850

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問