検索結果 5 件
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語で文書中の文字の頻度を計算するプログラムを作成したい
- 返信数: 13
- 閲覧数: 7940
Re: C言語で文書中の文字の頻度を計算するプログラムを作成したい
みけcatさんから頂いたコードを参考にして、自分なりにコードを完成させました。 多大なご助力ありがとうございました。 #include <stdio.h> #include <ctype.h> typedef struct rank{ char c; int count; } RANK; #define TRUE 0; #define FALSE 1 int addCount(RANK table[],int n,char x){ int i; for(i=0;i<n;i++){ if(table[i].c==x){ table[i].count+=1; return n; } } tabl...
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語で文書中の文字の頻度を計算するプログラムを作成したい
- 返信数: 13
- 閲覧数: 7940
Re: C言語で文書中の文字の頻度を計算するプログラムを作成したい
sort5関数を使って改良を加えましたが、アルファベットを分離出来ませんでした。 分離の方法はどうすればよろしいでしょうか? A a B b C c D d E e (省略) ではなく A B C D E (省略)と表示させるにはどうすればよいでしょうか? 以下にコードを記します。 #include <stdio.h> #include <ctype.h> /*構造体の宣言*/ typedef struct asc2{ char mozi; int fre; int tenfig; int id; } ASC2; /*重複した頻度をid順にソート*/ void sort3(ASC2 a[]) ...
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語で文書中の文字の頻度を計算するプログラムを作成したい
- 返信数: 13
- 閲覧数: 7940
Re: C言語で文書中の文字の頻度を計算するプログラムを作成したい
みけcatさん返答ありがとうございます。 無事、構造体の初期化に成功しました。 他のテストケースに対応させる必要は無いのですか? ですがおっしゃる通り他のテストデータも必要です。 以下のコードは わたしが提示した 9 5 h 4 0 3 = 3 z 3 # 2 @ 1 a 1 は出力できました。 #include <stdio.h> #include <ctype.h> /*構造体の宣言*/ typedef struct asc2{ char mozi; int fre; int tenfig; int id; } ASC2; /*重複した頻度をid順にソート*/ void sort3(ASC...
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語で文書中の文字の頻度を計算するプログラムを作成したい
- 返信数: 13
- 閲覧数: 7940
Re: C言語で文書中の文字の頻度を計算するプログラムを作成したい
boxさん、みけcatさんご指摘ありがとうございます。 みけcatさんのおっしゃるとうり元のコードから作り直します。 その前に問題の構造体の初期化のために以下のサイト http://www.isl.ne.jp/pcsp/beginC/C_Language_14.html の例題1構造体を作ろうを参考にして作成したコードが #include <stdio.h> #include <ctype.h> typedef struct asc2{ char mozi; int fre; int tenfig; } ASC2; int main(void) { ASC2 array[94] = { {"!...
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語で文書中の文字の頻度を計算するプログラムを作成したい
- 返信数: 13
- 閲覧数: 7940
C言語で文書中の文字の頻度を計算するプログラムを作成したい
学校の課題がわからないのでここで、質問させていただきます。 以下にベースとなるコードを表記しこのコードを習性して、C言語で文書中の文字の頻度を計算するプログラムを作成します。 #include <stdio.h> #include <ctype.h> int main(void) { int x; int count[128] = { 0 }; x = getchar(); while (x != EOF) { if (isgraph(x)) { count[x] += 1; } x = getchar(); } for (x = 0; x < 128; x++) { if (count[x]...