掲示板利用宣言

 次のフォームをすべてチェックしてからご利用ください。

 私は

 題名と投稿者名は具体的に書きます。
 課題の丸投げはしません。
 ソースの添付は「HTML変換ツール」で字下げします。
 返信の引用は最小限にします。
 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
 返信の付いた投稿は削除しません。
 マルチポスト(多重投稿)はしません。

掲示板2

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.29718

配列の問題
投稿者---花音(2007/02/06 19:05:43)


今日学校の課題で、配列の練習問題がでました。どうしても分からない問題があるので、どうかお力をかしてください。問題は、「キーボードより、数字をgetchar()で順に入力し(終りは^d)それぞれの数字の頻度を元め、最後に出力する。但し、数字以外はカウントしない。」という問題です。
どうかお願いします。


この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:配列の問題 29719 επιστημη 2007/02/06 21:13:05
<子記事> Re:配列の問題 29722 ルナレルナ 2007/02/06 22:41:01


No.29719

Re:配列の問題
投稿者---επιστημη(2007/02/06 21:13:05)
http://blogs.wankuma.com/episteme/


どこがわかりませんか?

「キーボードより、数字をgetchar()で順に入力し(終りは^d)」ですか?
「それぞれの数字の頻度を求め、」ですか?
「最後に出力する。」ですか?
「但し、数字以外はカウントしない。」ですか?



この投稿にコメントする

削除パスワード

No.29720

Re:配列の問題
投稿者---花音(2007/02/06 22:11:35)


それぞれの数字の頻度を求め、」、「但し、数字以外はカウントしない。」がどうしても分かりません。


この投稿にコメントする

削除パスワード

No.29721

Re:配列の問題
投稿者---akg(2007/02/06 22:39:23)


>それぞれの数字の頻度を求め

これが、「配列の問題」たるゆえんですね。
数字は0〜9の10種類あります。そこで、例えば
int count[10];
のように配列を定義します。
数字が見つかったら、対応するcount[0]〜count[9]の各要素を
インクリメントします。

>但し、数字以外はカウントしない

見方を変えると、「数字だけに着目する。数字でなければ無視してよい」と
なります。どんなif文を書けばよいか、見えてきませんか?




この投稿にコメントする

削除パスワード

No.29722

Re:配列の問題
投稿者---ルナレルナ(2007/02/06 22:41:01)
http://park6.wakwak.com/~nougaki/mini_program/index.html


必要な変数を宣言する。

> キーボードより、数字をgetchar()で順に入力し(終りは^d)

この部分を作る。

> 最後に出力する

この部分を作る。
この時点では、出力内容は求まってなくていい、
ただ、出力する部分ができればいい。

ここまでちゃんとできてるか確認。
それができてから、

> それぞれの数字の頻度を元め、

> 但し、数字以外はカウントしない。

に取りかかる。

わからないところばかりに目がいって、
わかるところを見ないで、
できるところやらない状態。

わかるところを見る、できるところをやる。
わからないところは、それができてから。



この投稿にコメントする

削除パスワード

No.29723

Re:配列の問題
投稿者---花音(2007/02/06 22:47:24)


if条件以外は分かりました。


この投稿にコメントする

削除パスワード

No.29724

Re:配列の問題
投稿者---επιστημη(2007/02/06 23:10:45)
http://blogs.wankuma.com/episteme/


>if条件以外は分かりました。

ならそのコードを晒すべし。



この投稿にコメントする

削除パスワード

No.29725

Re:配列の問題
投稿者---花音(2007/02/06 23:17:02)


#include <stdio.h>

int main(void) {

int data[100],i,cnt=0;
printf("数字、文字を入力してください。\n");
for(i=0;(data[i]=getchar())!=EOF;i++){
if(){

}
}
printf("数字の頻度は%d\n",cnt);
return 0;
}

こんな感じで良いでしょうか?


この投稿にコメントする

削除パスワード

No.29726

Re:配列の問題
投稿者---ルナレルナ(2007/02/06 23:30:37)
http://park6.wakwak.com/~nougaki/mini_program/index.html


>こんな感じで良いでしょうか?

全く駄目。
それぞれの数字の頻度じゃなかったのか?

//
//	こういう宣言の元で作り直してみて……
//

#include <stdio.h>

int main(void)
{
    int c;
    int count[10];
    
    return 0;
}



この投稿にコメントする

削除パスワード

No.29727

Re:配列の問題
投稿者---επιστημη(2007/02/06 23:37:58)
http://blogs.wankuma.com/episteme/


>こんな感じで良いでしょうか?

ダメダメ。
# てゆーか、動かしてみてないのかしら?

int count[10];
...読んで勘定する...
for ( i = 0; i < 10; ++i ) {
 printf("%dは%d個ありました\n", i, count[i]);
}
ってな感じになるはずだべ?



この投稿にコメントする

削除パスワード

No.29786

Re:配列の問題
投稿者---花音(2007/02/16 20:22:02)


遅くなりましたが、出来ました。


この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧