ページ 11

配列について質問です

Posted: 2009年7月13日(月) 03:11
by 静波
添付してあるような配列を作成しました。
しかし文字が多すぎるとなってエラーです。

どうすればいいのでしょうか?
こんなに長い配列は使えないのでしょうか?

Re:配列について質問です

Posted: 2009年7月13日(月) 07:15
by dic
' ← シングルクオーテーションを
" ← ダブルクオーテーションに変えてください

あと tewaisi', で片方がぬけてます

変数も
char *f_name[429] = { "...", "...", "...
としてください

Re:配列について質問です

Posted: 2009年7月13日(月) 18:44
by 静波
ありがとうございました。
他にもエラーが出てしまい困ってるのですが、助けていただけないでしょうか?

Re:配列について質問です

Posted: 2009年7月13日(月) 18:57
by non
何というエラーですか?
dicさんが指摘されている以外には、ないと思いますが。

Re:配列について質問です

Posted: 2009年7月13日(月) 20:00
by 静波
nonさん。

その部分に対してのエラーは解決したのですが、
実は苗字と名をランダムで表示するプログラムを作成しています。

そちらがなかなか上手くいかずに困っていたのです・・・

Re:配列について質問です

Posted: 2009年7月13日(月) 20:16
by non
プログラムを見せてくれなきゃ、助けようがない。

Re:配列について質問です

Posted: 2009年7月13日(月) 22:13
by 静波
nonさん。
ですよね・・・
すみませんファイルを添付したので見ていただいてよろしいでしょうか?

よろしくお願いします。

Re:配列について質問です

Posted: 2009年7月13日(月) 22:36
by ねこ
肝心のエラー文章が無いですよw

パッと見た感じここがおかしいです
write_f_name = f_name[x];
write_l_name = l_name_g[y];

文字列ポインタ受け取るなら定義がこうじゃないといけない
char[color=red>*[/color] write_f_name; //ファイルに苗字を書き込むときに使う変数//
char[color=red>*[/color] write_l_name; //ファイルに名を書き込むときに使う変数//

Re:配列について質問です

Posted: 2009年7月13日(月) 22:47
by non
他にも多数、間違いアリ。
エラーが出るのだから、もう少し、自分で考えてみたら。
例えば、宣言されていなかったり、変数名がなかったり・・・・など。

Re:配列について質問です

Posted: 2009年7月13日(月) 23:01
by dic
パス入力部分を goto 文で飛ばしてます
あと、修正したところを元の部分をコメントアウトして残してます
srand( time(NULL) ); は ランダムな関数テーブルを初期化するので一度でいいです
数ミリ秒での処理なので、同じランダム関数テーブルを使用することになり
同じ数字がでてきます

strcpy() 関数と fputs() 関数について理解すれば大丈夫と思います
できたら他の人の作ったプログラムか、参考書などを手本に文字列関係の基礎を
しっかりやったほうがいいです

あとはちょっと
y = rand() % rand_l_name_g と
y = rand() % rand_l_name_m の区別がつくようにしたほうがいいです
せっかくコメント書いてるんですから

Re:配列について質問です

Posted: 2009年7月13日(月) 23:27
by 静波
nonさん。
指摘ありがとうございます。

なんとかエラーを出さずにコンパイルすることに成功しました。

しかし私が予想していたことと違うのですが、ヒントをいただけないでしょうか?

私は毎回ランダムで氏名がファイルに書き込まれるようにしたかったのですが、
すべて同じ氏名が書き込まれてしまっていました・・・・

修正したソースファイルをまた添付しておきます。

ホントに何度も何度も申し訳ないです・・・

Re:配列について質問です

Posted: 2009年7月14日(火) 00:19
by 静波
申し訳ないです。
すべて同じではありませんでした。

しかし
50くらいが同じです。
【例】
yamada tarou
yamada tarou
yamada tarou
:
:
:
yamada tarou
katou tatuya
katou tatuya
katou tatuya
:
:
:
katou tatuya
saitou kazuya
saitou kazuya
saitou kazuya
:
:
:
saitou kazuya

と同じものが多すぎます・・・
ランダムを使っているので全てバラバラにすることは出来ないのはわかっていますが、
もう少しバラバラになると思っていました。
同じものがくっついたりするとは思いませんでした。

なにか良い改善方法を教えてください。

Re:配列について質問です

Posted: 2009年7月14日(火) 00:47
by ねこ
dicさんのsrandについての書き込みをよく読んであげてください。

Re:配列について質問です

Posted: 2009年7月14日(火) 01:25
by 静波
すみませんでした。
全部バラバラになりました。
本当にありがとうございます。


最後にもう一つだけ質問させていただきたいのですが、
プログラムを実行中に「問題が発生したため作業を中止します」とエラーになってしまい最後まで処理されないのですが、それは私のプログラムの問題でしょうか?
それとも別に原因があるのでしょうか?

Re:配列について質問です

Posted: 2009年7月14日(火) 08:52
by non
要素数が間違っていないか、確認してください。

Re:配列について質問です

Posted: 2009年7月15日(水) 02:56
by 静波
みなさん。
ありがとうございました。

無事に解決し、プログラムが完成しました。