C言語の質問です。
ファイルの行数を数えるためには、どういう風にプログラミングすればいいでしょうか?
テキスト形式のファイル(data.txt)に
浮動小数点値(改行)
・・・・
・・・
・・
・
のように複数のデータXiが記録されている。ファイルを読み込む前にはデータ数Nがわからないとして(すなわち格納するメモリは動的に確保するとして)、これらの数値のデータ数乗の平均表示するプログラムを書きなさい
という問題です。
方針としては、
ファイルを二度開くとし、
1回目が行数を数えてそのあと、メモリを動的に確保して、そのメモリにファイルの数を代入して
gokei+=x{i};
gokei/N
です。
その行数を数えるプログラミングがわかりません。
よろしくお願いします。
while(fgets(a,255,fp))!=NULL)
上のように255というのは、ファイルの行数が例えば255行あるとわかってないと使えないですよね?
行数が開いてみないとわからない場合には、どういうふうにしたらいいんでしょうか・・・?
C言語の質問です。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
- 住所: 東海地方
- 連絡を取る:
Re: C言語の質問です。
知恵袋でも同じ質問をされていませんか?
申し訳ないのですが、同時に2ヶ所以上の場所の質問することはマルチポストと言ってマナー違反とされています。
ここのフォーラムルール上、マルチポストは相互リンクして頂けれOKとなっていますので相互リンクをお願いします。
http://dixq.net/board/board.html
申し訳ないのですが、同時に2ヶ所以上の場所の質問することはマルチポストと言ってマナー違反とされています。
ここのフォーラムルール上、マルチポストは相互リンクして頂けれOKとなっていますので相互リンクをお願いします。
http://dixq.net/board/board.html
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: C言語の質問です。
すいません。
相互リンクということで。
急いでいて見逃していました。
Yahoo知恵袋:http://detail.chiebukuro.yahoo.co.jp/qa ... 1157229131です。
相互リンクということで。
急いでいて見逃していました。
Yahoo知恵袋:http://detail.chiebukuro.yahoo.co.jp/qa ... 1157229131です。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
- 住所: 東海地方
- 連絡を取る:
Re: C言語の質問です。
あちらの補足を使ってしまっているんでね。
それだと相互リンクに成らないので、続きをするとしたらあちらが終了してからにさせていただきます。
あちらの方にも、こちらで質問していることを知らせないことには失礼に当たりますので。
その時に、フォーラムルールにあるテンプレートを使って足らないことを書いて頂けると助かります。
それだと相互リンクに成らないので、続きをするとしたらあちらが終了してからにさせていただきます。
あちらの方にも、こちらで質問していることを知らせないことには失礼に当たりますので。
その時に、フォーラムルールにあるテンプレートを使って足らないことを書いて頂けると助かります。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: C言語の質問です。
テキストファイルであれば、「1文字ずつ読んで、改行コードの数を数える」っていうような安直な方法があります。sakk さんが書きました: ファイルの行数を数えるためには、どういう風にプログラミングすればいいでしょうか?
違います。sakk さんが書きました: while(fgets(a,255,fp))!=NULL)
上のように255というのは、ファイルの行数が例えば255行あるとわかってないと使えないですよね?
fgets()の第2引数はファイルの行数ではなく、ザックリいうと「1行の最大文字数」です。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。
プログラムは思ったとおりには動かない。書いたとおりに動く。