C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: 配列の番号


(過去ログ 74 を表示中)

[トピック内 10 記事 (1 - 10 表示)]  << 0 >>

■43093 / inTopicNo.1)  配列の番号
  
□投稿者/ tkana3 (28回)-(2009/10/28(Wed) 21:40:36)

分類:[C/C++] 

2009/10/28(Wed) 21:41:23 編集(投稿者)

こんばんは。

すみませんがこれから沢山質問させていたくことになります。

初心者だと思って勘弁して下さい(__)

C言語で番号出力つきのアドレス帳を作成中です

例えば2次元配列で person_data[name][tel_num]と入って
3番目に「スズキ」さんが入っていたとします。その番号を
出力したいときには、どのように番目を見ればよいのでしょうか。

1番目アベ
2番目カトウ
3番目スズキ
など入っていた時です。

すみませんが、初心者のためポインタは避けてほしいのですが。

以上よろしくお願いします。


引用返信 編集キー/
■43094 / inTopicNo.2)  Re[1]: 配列の番号
□投稿者/ 囚人 (425回)-(2009/10/28(Wed) 21:52:53)
どういう意味か全然わかんないんですけど、
person_data[name][tel_num]
の3番目ってどこのこと言ってます?
引用返信 編集キー/
■43095 / inTopicNo.3)  Re[1]: 配列の番号
□投稿者/ ぱぱいやん (56回)-(2009/10/28(Wed) 21:56:50)
ぱぱいやん さんの Web サイト
No43093 (tkana3 さん) に返信
> 2009/10/28(Wed) 21:41:23 編集(投稿者)
>
> 3番目に「スズキ」さんが入っていたとします。その番号を
> 出力したいときには、どのように番目を見ればよいのでしょうか。
>

先頭から 1 つずつ要素を見ていって、スズキという文字と一致する要素の番号が、スズキさんの入っている番号ということになります。
1 つずつ見ていくためには、for文を使います。
引用返信 編集キー/
■43096 / inTopicNo.4)  Re[2]: 配列の番号
□投稿者/ tkana3 (29回)-(2009/10/28(Wed) 21:58:35)
No43094 (囚人 さん) に返信
> どういう意味か全然わかんないんですけど、
> person_data[name][tel_num]
> の3番目ってどこのこと言ってます?

囚人さん

ありがとうございます。

あほでした…配列の番号そのまま見ればいいですよね

1件目 persondata["アベ"]["090…"]
2件目 persondata["カトウ"]["090…"]
3件目 persondata["スズキ"]["090…"]

の3番目です。

引用返信 編集キー/
■43099 / inTopicNo.5)  Re[2]: 配列の番号
□投稿者/ επιστημη (2237回)-(2009/10/28(Wed) 22:37:28)
επιστημη さんの Web サイト
> 例えば2次元配列で person_data[name][tel_num]と入って
> 3番目に「スズキ」さんが入っていたとします。

とてつもなく勘違いしてません?

struct person {
  string name; // 名前
  string tel_num; // 電話番号
};

person person_data[3]; // 三人分のデータ

// "スズキ"さんを探す
bool found = false;
for ( int i = 0; i < 3; ++i ) {
  if ( person_data[i].name == "スズキ" ) {
    cout << person_data[i] << "さんは " << i << "番目、電話番号は" << person_data[i].tel_num << "です。\n";
    found = true;
    break;
  }
}
if ( !found ) {
  cout << "スズキなんていねーよ!\n";
}

引用返信 編集キー/
■43100 / inTopicNo.6)  Re[3]: 配列の番号
□投稿者/ επιστημη (2238回)-(2009/10/28(Wed) 22:39:16)
επιστημη さんの Web サイト
2009/10/28(Wed) 22:46:08 編集(投稿者)

↑ごめん、これC++。 だけど雰囲気はわかるっしょ。

ついでにマチガイ
× cout << person_data[i] << "さんは " << i << "番目、電話番号は" << person_data[i].tel_num << "です。\n";
○ cout << person_data[i].name << "さんは " << i << "番目、電話番号は" << person_data[i].tel_num << "です。\n";

# わかんなきゃ printf だと思えばよろし。

> すみませんがこれから沢山質問させていたくことになります。
> 初心者だと思って勘弁して下さい(__)

沢山の質問にはなんの問題もありませんし、初心者だから勘弁する/しないよな事もなにもありません。
「そのくらい自分で考えろ!」て言われることはあるかもですが。

引用返信 編集キー/
■43101 / inTopicNo.7)  Re[3]: 配列の番号
□投稿者/ tkana3 (30回)-(2009/10/28(Wed) 23:33:46)
2009/10/28(Wed) 23:34:34 編集(投稿者)

No43099 (επιστημη さん) に返信

>επιστημη さん

構造体+配列を使えばいいのですね。

そのまま

int i;

string name[i]
int tel[i]

で順番に値を数えていって

printf("%d番目の人は、%dさんで番号は%dです。",i ,name[i],tel[i]);

文法間違っていたらすみません。

としようかと思っていました。

構造体もポインタも慣れていないのでこれからしっかりやります!

>沢山の質問にはなんの問題もありませんし

いつも辛口のεπιστημη さんにそういっていただけると、ありがたいです。
やっぱり詰まると、平気で時間はは過ぎていくので、恐ろしいです。

よろしくお願いします。

引用返信 編集キー/
■43103 / inTopicNo.8)  Re[4]: 配列の番号
□投稿者/ επιστημη (2239回)-(2009/10/28(Wed) 23:55:09)
επιστημη さんの Web サイト
2009/10/28(Wed) 23:58:14 編集(投稿者)

> string name[i]
> int tel[i]
>...
> としようかと思っていました。

ここで終わればそれでもいいけど、
住所とメアドと性別と誕生日と血液型と最寄駅と体重と3サイズが
追加になってもそのやり方を通します?
名前の順に並び換えろって言われたら?
データの途中に追加/削除しろって言われたら?
構造体でまとめておかないとめんどくさくね?

引用返信 編集キー/
■43104 / inTopicNo.9)  Re[5]: 配列の番号
□投稿者/ tkana3 (31回)-(2009/10/29(Thu) 00:53:23)
No43103 (επιστημη さん) に返信
> 2009/10/28(Wed) 23:58:14 編集(投稿者)
>
>>string name[i]
>>int tel[i]
> >...
>>としようかと思っていました。
>
> ここで終わればそれでもいいけど、
> 住所とメアドと性別と誕生日と血液型と最寄駅と体重と3サイズが
> 追加になってもそのやり方を通します?
> 名前の順に並び換えろって言われたら?


確かにその通りです…
名前でソートはしなければならないので、その時に大変ですね。

それと追加の処理も考えておかないといけないので、その時ですね…

ありがとうございました(__)またよろしくお願いします。
解決済み
引用返信 編集キー/
■43139 / inTopicNo.10)  Re[4]: 配列の番号
□投稿者/ .SHO (1033回)-(2009/10/29(Thu) 21:03:37)
No43101 (tkana3 さん) に返信

> そのまま
>
> int i;
>
> string name[i]
> int tel[i]
>
> としようかと思っていました。

ちなみに C に string ってないからね。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -