********
a_b_c_d_
ef_g_hi
jkl_m_a_
********
といったことが書かれたテキストファイルを読み込み、
_(スペース)で区切って、以下のように2次元配列に格納し、出現頻度をカウントするプログラムを作っているのですが・・・
********
a[0][10]=a
a[1][10]=b
a[2][10]=c
a[3][10]=d
a[4][10]=ef
a[5][10]=g
a[6][10]=hi
a[7][10]=jkl
a[8][10]=m
a[9][10]=a
********
実行結果はこうなるように考えています。
********
a ・・・ 2
b ・・・ 1
c ・・・ 1
d ・・・ 1
ef ・・・ 1
g ・・・ 1
hi ・・・ 1
jkl ・・・ 1
m ・・・ 1
********
ファイルから_(スペース)で区切って、配列に格納する部分がうまくいくません・・・
どう書けばいいですか?
C言語について
Re: C言語について
スペースで区切る処理は、strtok関数を使うのが手っ取り早いです。
strtokで検索かけてみるといいです。
コードをさらせば、さらにアドバイスがもらえるんじゃないかな?
strtokで検索かけてみるといいです。
コードをさらせば、さらにアドバイスがもらえるんじゃないかな?
written by へにっくす
Re: C言語について
ファイルに********は含まれていますか?
エラー処理を考えないのでしたら、素直にscanfで読み込めばいいと思います。
なぜ2次元配列にする必要があるのですか?
なぜ最初から2番目の添字で10を指定しているのですか?
テキストファイルに書かれているアルファベット文字列は何個くらいありますか?
10個ですか?100個ですか?10,000個ですか?1,000,000個ですか?
一つのアルファベット文字列の最大の長さはどのくらいですか?
エラー処理を考えないのでしたら、素直にscanfで読み込めばいいと思います。
なぜ2次元配列にする必要があるのですか?
なぜ最初から2番目の添字で10を指定しているのですか?
テキストファイルに書かれているアルファベット文字列は何個くらいありますか?
10個ですか?100個ですか?10,000個ですか?1,000,000個ですか?
一つのアルファベット文字列の最大の長さはどのくらいですか?
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
Re: C言語について
すいません。
配列の型が分かりませんが、ポインタで格納したいのでしたら、
一行ずつ読み込んでstrtokを使用した方がいいかもしれません。
配列の型が分かりませんが、ポインタで格納したいのでしたら、
一行ずつ読み込んでstrtokを使用した方がいいかもしれません。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)