2

ヒストグラムをプロットする関数を書いていますが、問題が発生しています。これがコードです

void plotHist(int num, regression *r, histData *h)
{
   int i, j;
   for (i = 0; i< h->numHist; i++)
   {
       printf("%2f\t|", h->hist[i].xValue) ;
           for ( j = 0 ; j < h->hist[i].yFrequency/5; j ++)
           {
               printf("*");

           }


        printf("\n");
    }

}

画面に表示される結果は次のとおりです。

                -199.422 |  
                -142.232 |****
                -98.232  |******
                -21.32   |***********
                 43.424  |****************
                 58.234  |***************
                 92.123  |*********
                 189.5   |****

問題は、このヒストグラムに「o」文字で別の配列を追加する必要があることです。これは、方法がわかりません。結果は次のようになります。

        -199.422 |  o
        -142.232 |****o
        -98.232  |******o
        -21.32   |********o**
        43.424   |**********o*****
        58.234   |********o******
        92.123   |******o**
        189.5    |****o
4

1 に答える 1

2

printf を使用してヒストグラムをすぐに出力しないでください。代わりに、印刷を行う前に、すべてのデータ ポイントがどこにあるかを把握してください。このようにして、文字を印刷するたびにデータをチェックする必要がなくなり、2 番目の配列がヒストグラムの塗りつぶされた領域内にある必要がなくなります。

于 2012-04-11T08:39:09.493 に答える