A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
手っ取り早く、質問内容にあるプログラムを作成するのは次のとおりで良いと思います。
ただし、きれいなプログラムではなく、あくまでわかりやすく質問内容を実行できるプログラムとしていますので、改良したい場合は、少し勉強が必要であるということだけ覚えておいてください。
テキストファイルの名前がinputfile.txtで中身が
--------------------
-50 30 276 500 8 ・・・ 430
--------------------
のように、数字と数字の間には半角スペースがあるとし、総数は800個だったとします。つまり
------------------------------------
-50 30 276 500 8 ・・・ 430
1 2 3 4 5 ・・・ 800 (個)
------------------------------------
int i ;
int stc ; //数字を一時的にストックしておく変数
int dat[551] ; /* 550パターンのデータで、
-50を配列dat[0]とし、
0 を配列dat[50]とし、
500を配列dat[550]とする*/
for(i=0;i<=550;i++) {
dat[i] = 0 ;
}
FILE *fp ;
fp = fopen("inputfile.txt","r");
for(i=1;i<=800;i++) { // 数字は800個ある
fscanf(fp,"%d",&stc) ;
dat[stc+50] = dat[stc+50] +1 ; // カウントアップ
}
for(i=0;i<=550;i++) {
printf("%dは%d個あります ",i-50,dat[i]) ;
}
fclose(fp);
以上のプログラムが理解できるならこの問題に対しては簡単にプログラムを改良できると思います。
No.3
- 回答日時:
>-50が何個、-49が何個、・・・、499が何個、500が何個といった感じにに出力するCプログラムが分かりません。
-50 3
-49 5
…
500 10
というような出力仕様なのですか?
ヒストグラムというからには、例えば
-50 3 ***
-49 5 *****
…
500 10 **********
のように、個数を何らかの図形で表現する必要があると思います。
今回は不要なのですか?
No.1
- 回答日時:
1.int 型の配列を用意する(-50~500 までなのでサイズは???)
2.ファイルを開く
3.用意した配列を ? で初期化
4.1行取り出し
5.取り出した文字列を数値化
6.その文字が -??以上 && ??? 以下なら
7.配列[?] をインクリメント
8.まだ1行取り出せるなら 4. へ
9.???回ループ開始
10.配列の[?] が 0 でなければ
11.printfで ? と 配列の中身 を表示
? には 定数 や 変数 や 式 が入ります。
配列の添え字に 負の値 が使えないこと、
配列サイズは 550 ではないことに注意してください。
この例の場合、個数が 0 のときは表示しません。
表示する場合は 10. を省いてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# [C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について 5 2022/10/05 11:03
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# 至急お願いします。C言語で.imgのファイルを読み込んで1バイトづつ出力するプログラムを作りたいので 3 2023/01/16 22:49
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 malloc関数を使ってください!お願いします! 最 1 2022/07/21 09:28
- C言語・C++・C# 至急お願いします。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分母 3 2022/07/19 17:09
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分 1 2022/07/19 17:03
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
- C言語・C++・C# c言語の問題です 2 2023/07/21 10:51
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 割られる整数と割る整数を受け取って、商と余りを出力す 3 2022/07/05 10:23
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語 配列の長さの上限
-
C# 配列の変数宣言について。
-
配列を使わずに、変数名を動的...
-
配列の参照渡しで型が一致しま...
-
先頭アドレスとは何ですか?
-
配列で格納したものをmsgboxで...
-
VBAで配列からbmp画像を出力す...
-
C言語で特定列だけを抽出して配...
-
配列を含む構造体の初期値について
-
C言語初心者 ポインタについて...
-
【速いブラインドタッチ】手を...
-
MFC、ダイアログベースでのモー...
-
C# Listを使わずに2次元配列の...
-
配列同士の文字列の比較
-
【VBS】 フォルダ直下のファイ...
-
テキストボックスに文字列を入れる
-
C言語の配列の入れ方について質...
-
【C言語】配列の中に配列を入れ...
-
unsigned char配列への入力の仕方
-
複数の選択範囲の行番号を個別...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語 配列の長さの上限
-
配列を使わずに、変数名を動的...
-
先頭アドレスとは何ですか?
-
配列で格納したものをmsgboxで...
-
C# Listを使わずに2次元配列の...
-
C# 配列の変数宣言について。
-
テキストファイルから文字列を...
-
配列の参照渡しで型が一致しま...
-
ExcelVBAで質問です。離れた二...
-
unsigned char配列への入力の仕方
-
VBで構造体の配列を関数に渡す...
-
C++ vectorに配列をプッシュしたい
-
C言語で特定列だけを抽出して配...
-
複数の選択範囲の行番号を個別...
-
Excel、VBAのユーザーフォーム...
-
配列をEraseしてもメモリが開放...
-
配列を含む構造体の初期値について
-
【速いブラインドタッチ】手を...
-
Redimした動的配列はEraseする...
-
C言語 配列の再初期化
おすすめ情報