C言語について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
DeepBlue

C言語について

#1

投稿記事 by DeepBlue » 13年前

********
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
********


ファイルから_(スペース)で区切って、配列に格納する部分がうまくいくません・・・
どう書けばいいですか?

アバター
へにっくす
記事: 634
登録日時: 13年前
住所: 東京都

Re: C言語について

#2

投稿記事 by へにっくす » 13年前

スペースで区切る処理は、strtok関数を使うのが手っ取り早いです。
strtokで検索かけてみるといいです。

コードをさらせば、さらにアドバイスがもらえるんじゃないかな?
written by へにっくす

アバター
みけCAT
記事: 6734
登録日時: 15年前
住所: 千葉県
連絡を取る:

Re: C言語について

#3

投稿記事 by みけCAT » 13年前

ファイルに********は含まれていますか?
エラー処理を考えないのでしたら、素直にscanfで読み込めばいいと思います。
なぜ2次元配列にする必要があるのですか?
なぜ最初から2番目の添字で10を指定しているのですか?
テキストファイルに書かれているアルファベット文字列は何個くらいありますか?
10個ですか?100個ですか?10,000個ですか?1,000,000個ですか?
一つのアルファベット文字列の最大の長さはどのくらいですか?
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
みけCAT
記事: 6734
登録日時: 15年前
住所: 千葉県
連絡を取る:

Re: C言語について

#4

投稿記事 by みけCAT » 13年前

すいません。
配列の型が分かりませんが、ポインタで格納したいのでしたら、
一行ずつ読み込んでstrtokを使用した方がいいかもしれません。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

閉鎖

“C言語何でも質問掲示板” へ戻る