掲示板利用宣言

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

 私は

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

掲示板2

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

No.25475

配列のプログラムのチェック
投稿者---雪だるま(2006/01/19 00:15:56)


こんにちは、雪だるまです。
再び学校の課題で詰まってしまいました。一通り自分で書いてみたのですが、グラフのところでうまくいきません。10点単位でグラフにし、端数は切り捨てます。
よろしければ、チェックお願いします。OSはXP、コンパイラはVisual Studio 2005です。



自分で書いたもの
#include<stdio.h>

int main(void)
{

    int ten[5],i,j;

    printf("5人分の得点をグラフにします。\n");
    printf("得点を入力してください。\n");

    for(i=0;i<5;i++){
        printf("%d番目の学生の得点:",i+1);
        scanf("%d",&ten[i]);
    }

    printf("========グラフ========\n");

    for(i=100;i>0;i-=10){
        printf("%3d|",i);

        for(j=0;i<5;j++){
            if(ten[j]>=i)
               printf("*");
            else
               printf("-");
        }
        printf("\n");
    }

    printf("----------------------\n");
    printf("   |  1  2  3  4  5  (番)\n");
    printf("以上のようになりました。\n");
    return 0;
}


実行結果
5人分の得点をグラフにします。
得点を入力してください。
1番目の学生の得点:72
2番目の学生の得点:56
3番目の学生の得点:83
4番目の学生の得点:20
5番目の学生の得点:100
========グラフ========
100|
 90|
 80|
 70|
 60|
 50|
 40|
 30|
 20|
 10|
----------------------
   |  1  2  3  4  5  (番)


以上のようになりました。


この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:配列のプログラムのチェック 25480 RiSK 2006/01/19 00:45:37
<子記事> Re:配列のプログラムのチェック 25481 気分屋 2006/01/19 00:56:20
<子記事> Re:配列のプログラムのチェック 25482 Blue 2006/01/19 01:06:51
<子記事> Re:配列のプログラムのチェック 25483 雪だるま 2006/01/19 01:16:35


No.25480

Re:配列のプログラムのチェック
投稿者---RiSK(2006/01/19 00:45:37)


もし完成したら,それを貼り付けてください。
    for(i=100;i>0;i-=10){

               printf("*");

               printf("-");



この投稿にコメントする

削除パスワード

No.25481

Re:配列のプログラムのチェック
投稿者---気分屋(2006/01/19 00:56:20)


for(j=0;i<5;j++){

ここのループ条件がj<5ではなく、i<5になっているのが原因じゃない?



この投稿にコメントする

削除パスワード

No.25482

Re:配列のプログラムのチェック
投稿者---Blue(2006/01/19 01:06:51)


> Visual Studio 2005
折角いいもの使っているならば、それを活用しましょう。

いま、問題となっているのは 
     「"*" や "-" がなぜでないのか」
ということです。

そこで、ブレイクポイントを怪しそうな箇所に設定してみましょう。
F9を押すとソースの左側に がつきます。
それで、F5を押して実行する。

そうすると、5人の得点を入れたあとに、ソース画面になります。
そこで、F10を押して、1行1行ステップ実行します。
そのときの、もろもろの変数の値は左下のローカルウィンドウにでます。



この投稿にコメントする

削除パスワード

No.25483

Re:配列のプログラムのチェック
投稿者---雪だるま(2006/01/19 01:16:35)


ご、ごめんなさい。ミスが発覚しました。

for(j=0;j<5;j++){

の部分でj<5とするべきところをi<5とかいていました。
単純なミスで本当にごめんなさい・・・・・・。
一応、実行結果をかいておきます。
5人分の得点をグラフにします。
得点を入力してください。
1番目の学生の得点:72
2番目の学生の得点:56
3番目の学生の得点:83
4番目の学生の得点:20
5番目の学生の得点:100
========グラフ========
100| -  -  -  -  *
 90| -  -  -  -  *
 80| -  -  *  -  *
 70| *  -  *  -  *
 60| *  -  *  -  *
 50| *  *  *  -  *
 40| *  *  *  -  *
 30| *  *  *  -  *
 20| *  *  *  *  *
 10| *  *  *  *  *
----------------------
   | 1  2  3  4  5  (番)
以上のようになりました。





この投稿にコメントする

削除パスワード

No.25486

Re:配列のプログラムのチェック
投稿者---RiSK(2006/01/19 02:04:22)


>単純なミスで本当にごめんなさい・・・・・・。

Blueさんのレスがとても大切。

>一応、実行結果をかいておきます。

あー言い方が悪かったか…。
私はfor(j=0;j<5;j++){
の修正だけでは違う結果になりました。
5人分の得点をグラフにします。
得点を入力してください。
1番目の学生の得点:72
2番目の学生の得点:56
3番目の学生の得点:83
4番目の学生の得点:20
5番目の学生の得点:100
========グラフ========
100|----*
 90|----*
 80|--*-*
 70|*-*-*
 60|*-*-*
 50|***-*
 40|***-*
 30|***-*
 20|*****
 10|*****
----------------------
   |  1  2  3  4  5  (番)
以上のようになりました。

今のあなたのコードを貼り付けてください。


この投稿にコメントする

削除パスワード

No.25505

Re:配列のプログラムのチェック
投稿者---雪だるま(2006/01/20 13:27:39)


>今のあなたのコードを貼り付けてください。
勘違いの連続で申し訳なく・・・・・・。
実行結果は以前書いたとおりです。


#include<stdio.h>

int main(void)
{

    int ten[5],i,j;

    printf("5人分の得点をグラフにします。\n");
    printf("得点を入力してください。\n");

    for(i=0;i<5;i++){
        printf("%d番目の学生の得点:",i+1);
        scanf("%d",&ten[i]);
    }

    printf("========グラフ========\n");

    for(i=100;i>0;i-=10){
        printf("%3d|",i);

        for(j=0;j<5;j++){
            if(ten[j]>=i)
               printf(" * ");
            else
               printf(" - ");
        }
        printf("\n");
    }

    printf("----------------------\n");
    printf("   | 1  2  3  4  5  (番)\n");
    printf("以上のようになりました。\n");
    return 0;
}




この投稿にコメントする

削除パスワード

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