C/C++の宿題を片付けます 100at TECHC/C++の宿題を片付けます 100 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト316:デフォルトの名無しさん 07/11/27 18:06:06 >>310 #include <stdio.h> #include <string.h> #include <math.h> int main() { int i=0,l,c[256]={0}; char buf[256]; double h=0,p; scanf("%s",buf); l=strlen(buf); for(i=0;i<l;i++) c[buf[i]]++; for(i=0;i<256;i++) if(c[i]>0) { p=(double)c[i]/l; printf("\"%c\" %lf\n",i,p); h-=p*log(p); } printf("H = %lf\n",h); return 0; } 317:デフォルトの名無し 07/11/27 18:14:32 [1] 授業単元: プログラミング [2] 問題文: 入力された整数0~9のn個の文字列に対応したヒストグラムを出力するプログラムを作成せよ。 例:(n個の整数文字列=0050011050) 数値0が6個、1が2個、5が2個の場合、以下のように出力する。 <出力例> a[0] = 6 ****** a[1] = 2 ** a[2] = 0 a[3] = 0 a[4] = 0 a[5] = 5 ** a[6] = 0 a[7] = 0 a[8] = 0 a[9] = 0 ただしキーボードからの入力は最大128バイトとし、それを超える場合129バイト以降のデータはカウントしない。 入力データは半角数字のみとし、全角数字の入力は考えない。 文字列カウント関数 count 引数 char inputdata[] 入力データ int outputdata[] 出力データ 算出結果をヒストグラムで描写する関数名 hist 引数 int outputdata[] [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C言語 [4] 期限: 11月28日まで [5] その他の制限: なし 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch