【掲示板ご利用上の注意】

 ※題名は具体的に!
 ※学校の課題の丸投げ禁止!
 ※ソースの添付は「HTML変換ツール」で字下げ!
 ※返信の引用は最小限に!
 ※環境(OSとコンパイラ)や症状は具体的に詳しく!
 ※マルチポスト(多重投稿)は慎んで!

 詳しくはこちら



 本当はこんなに大きく書きたくはないのですが、なかなか守っていただけなくて…。
 守ってくださいね。お願いします。(by管理人)

C言語ソース⇒HTML形式ツール   掲示板2こちら


管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.20821

mapとは?
投稿者---mapi(2005/04/27 12:47:18)


C++になるとは思いますが、
まだまだ参考書を読んでる初心者です。
mapについてですが、
ファイルを呼び出して、そのファイルからmapを作るって
どういうことだかわかる方いませんか??

最終的には
ファイルOPEN → そのファイルからmapを作る
→ パラメータか何かを持ってそのパラメータをキーにして
メッセージなどを出力するって処理ですが..

まずはmapを作るってところで
まだどう作ればできるか悩んでます。



この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:mapとは? 20822 REE 2005/04/27 13:08:12
<子記事> Re:mapとは? 20823 ぽへぇ 2005/04/27 13:19:25


No.20822

Re:mapとは?
投稿者---REE(2005/04/27 13:08:12)


>まずはmapを作るってところで
>まだどう作ればできるか悩んでます。

まず、mapはどういうものだか理解できていますか?


この投稿にコメントする

削除パスワード

No.20823

Re:mapとは?
投稿者---ぽへぇ(2005/04/27 13:19:25)


>C++になるとは思いますが、
>ファイルを呼び出して、そのファイルからmapを作るって
>どういうことだかわかる方いませんか??
私もわかりませんが、とりあえず

#include    <map>
#include    <string>
#include    <iostream>

using namespace std;

int main(int argc, char* argv[])
{
    map<string, int>    price;
    price["りんご"] = 200;
    price["みかん"] = 100;

    cout << price["りんご"] << endl;
    cout << price["みかん"] << endl;
    return 0;
}




この投稿にコメントする

削除パスワード

No.20824

Re:mapとは?
投稿者---mapi(2005/04/27 14:07:35)


回答ありがとうございます。
私の理解が不足しているかもしれませんが、
mapとはキーと値がペアになって格納できるコンテナなんですけど
あるファイル(CSV??)をOPENさせてmapを作るっていうのがわかりません。
明示的に
<pre>
map<string, int> price;
price["りんご"] = 200;
price["みかん"] = 100;
</pre>
のようにやれば指定できればわかりますが
質問の仕方が下手ですいません


この投稿にコメントする

削除パスワード

No.20825

Re:mapとは?
投稿者---Blue(2005/04/27 14:30:45)


C++かもしれませんが..
の質問内容に似ているので参考にしてみてください。

No.20691の私の発言で具体的にどうすればいいか書いてあります。



この投稿にコメントする

削除パスワード

No.20826

Re:mapとは?
投稿者---REE(2005/04/27 14:32:13)


>私の理解が不足しているかもしれませんが、
>mapとはキーと値がペアになって格納できるコンテナなんですけど
>あるファイル(CSV??)をOPENさせてmapを作るっていうのがわかりません。

1.ファイルを開く
2.ファイルから、キーと値を一組取り出す。
3.mapにそのキーと値をペアにして登録する。
4.2〜3をデータがなくなるまで繰り返す。
5.ファイルを閉じる

分からないのはどれ?



この投稿にコメントする

削除パスワード

No.20827

Re:mapとは?
投稿者---mapi(2005/04/27 15:45:09)


正直にいうと
2〜4です。
オープン、クローズ処理はできるのですが..
過去の掲示板を見たりもしてみます


この投稿にコメントする

削除パスワード

No.20828

Re:mapとは?
投稿者---REE(2005/04/27 16:44:46)


>正直にいうと
>2〜4です。
>オープン、クローズ処理はできるのですが..
>過去の掲示板を見たりもしてみます

そうであれば、とりあえず2を試して一組のキーと値を表示できるようにしてください。
これはmapとは無関係です。



この投稿にコメントする

削除パスワード

No.20843

Re:mapとは?
投稿者---mapi(2005/04/27 23:58:37)


度々すいません。
だんだん分からなくなってきました。
一組のキーと値を表示するっていうのは、
<pre>
map<string, string>::iterator p;

printf("%s",p->first);
printf("%s",p->secoud);
</pre>
のことでしょうか??

間違っていると思いますが、
もう少し教えてください


この投稿にコメントする

削除パスワード

No.20848

Re:mapとは?
投稿者---REE(2005/04/28 09:17:07)


>間違っていると思いますが、
>もう少し教えてください

>>>>2.ファイルから、キーと値を一組取り出す。
>>そうであれば、とりあえず2を試して一組のキーと値を表示できるようにしてください。
>>これはmapとは無関係です。

読んでますか?
mapからではなく、ファイルから取り出してください。



この投稿にコメントする

削除パスワード

No.20849

Re:mapとは?
投稿者---mapi(2005/04/28 09:38:46)


すいません。
ファイルからの処理が分かってないみたいです
もう少し考えます。


この投稿にコメントする

削除パスワード

No.20850

Re:mapとは?
投稿者---επιστημη(2005/04/28 10:15:05)


>一組のキーと値を表示するっていうのは、

csvから商品名(string)と価格(int)を読み出し、
変数(たとえば string item と int price)に設定して表示せよ。

ってことです。これができればmapに登録することができますから。



この投稿にコメントする

削除パスワード

No.20851

Re:mapとは?
投稿者---mapi(2005/04/28 12:28:23)


ありがとうございます。
まだどうしてもイメージがつかめてないですが

1.fopen("ファイル名","モード");
のあと
2.fread();
を行うような気がしてきました。

でもそれだとサイズ指定があるので
違うような気もしています。

できるまで考えてみます。


この投稿にコメントする

削除パスワード

No.20852

Re:mapとは?
投稿者---επιστημη(2005/04/28 12:49:32)


>1.fopen("ファイル名","モード");
>のあと
>2.fread();
>を行うような気がしてきました。

csvなら一行まるっと読み込み、それをカンマ区切りでぶつ切りにするがよろしかろうと。

# 一行まるっと読み込むには fgets がお手軽。



この投稿にコメントする

削除パスワード

No.20853

Re:mapとは?
投稿者---mapi(2005/04/28 13:01:49)


CSVで考えているので
一度、fread();
で読み込んだ後、fgetsってことですかね。

fgetsでやることは1行読み込んだ後
どうすれか考えます

ありがとうございました


この投稿にコメントする

削除パスワード

No.20854

Re:mapとは?
投稿者---επιστημη(2005/04/28 13:02:57)


>CSVで考えているので
>一度、fread();
>で読み込んだ後、fgetsってことですかね。

…なんでやねん。



この投稿にコメントする

削除パスワード

No.20855

Re:mapとは?
投稿者---Blue(2005/04/28 13:17:44)


ここを参考に fgets を勉強なさってください。
●C言語編 第35章 テキストファイルの読み書き(1)



この投稿にコメントする

削除パスワード

No.20888

Re:mapとは?
投稿者---mapi(2005/04/30 11:36:36)


いろいろすいませんでした。
今、ファイルからfgetsを使ってループで1行ずつ出力させる
処理までできました。

あとは、「,」を見て、mapに登録させればできあがりだと
思います。




この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧