質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

1回答

847閲覧

ファイルのデータを読み込んで数字の出現頻度をファイルに出力するプログラムの問題について

NieRclan3

総合スコア15

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2021/11/10 12:24

編集2021/11/10 13:23

前提・実現したいこと

乱数を用いてサイコロを作って、そのサイコロを6000回降って結果をテキストファイルに出力するプログラムを作成する。1回分を1行としてfprintfで書き出せばよい。
そのファイルのデータを読み込んで、目の出現頻度をファイルに出力するプログラムを作成する。

発生している問題

サイコロを6000回振った結果のテキストファイル(data1)を作成することは出来たが、その後の作成したテキストファイル(data1)を読み込んだ数の1~9の出現頻度を数える部分のプログラムが分からないです。

該当のソースコード

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
FILE *fp;
int i;
int count;
fp = fopen("data1.txt", "rt");
for ( i = 0; i < 6000; i++)
{

} fp=fopen("data2.txt","wt"); for(int I = 0; i < 10; i++){ fprintf(fp,"%dは%d回\n", i, count); } fclose(fp); return 0;

}

###補足情報
サイコロを振ったプログラム

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
FILE *fp;
fp = fopen("data1.txt", "wt");
for(int i= 0; i < 6000; i++){
fprintf(fp,"%d\n", rand()%6+1);
}
fclose(fp);
return 0;
}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

can110

2021/11/10 13:01

「その後のプログラム」(ファイルの読み込み~出目の出現頻度の算出~ファイルに出力する)のうち、何が分からないのかをより具体的に提示ください。
NieRclan3

2021/11/10 13:05

ファイルを読み込んで出現頻度を数えるところです
can110

2021/11/10 13:09

「ファイルを読み込んで」と「出現頻度を数える」の両方とも分からないということでしょうか? なお、この質問への追記・修正の依頼への回答は、質問本文を編集して反映させてください。
BeatStar

2021/11/10 13:18

> ファイルを読み込んで出現頻度を数えるところです それ以前では? そもそも全くできてない。サイコロを用意してもいないし、ファイルに書き込んでもいない。
BeatStar

2021/11/10 13:35

あと、コードは"<code>"または"<コード>"のボタンを押して出てくるやつの中に書きましょう。今のままでは読みづらいです。
guest

回答1

0

ベストアンサー

ファイルから出目は読めるようなので、以下のようなコードでcounter変数に各出目の出現頻度を記録できます。

C++

1int count[9] = {0}; 2for(ファイルから読込){ 3 int n = ファイルから読み込んだ1...9の値 4 count[n-1]++; // [0]=1~[8]=9の頻度 5}

投稿2021/11/10 13:34

can110

総合スコア38341

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問