绘制垂直直方图c#

绘制垂直直方图c#,c#,for-loop,console,histogram,C#,For Loop,Console,Histogram,我想从整数数组计算控制台中的垂直直方图。 数组被这个窦公式填充,然后两个for循环应该会起到神奇的作用: for (int i = 0; i < 30; i++) //fill array f[i] = (int)(10 * Math.Sin(2 * Math.PI / 30 * i) + 15); //draw histogram: int maxValue = f.Max(); for (int i = 0; i <= maxValue; i++) { for

我想从整数数组计算控制台中的垂直直方图。 数组被这个窦公式填充,然后两个for循环应该会起到神奇的作用:

for (int i = 0; i < 30; i++) //fill array
    f[i] = (int)(10 * Math.Sin(2 * Math.PI / 30 * i) + 15);

//draw histogram:
int maxValue = f.Max(); 
for (int i = 0; i <= maxValue; i++)
{
    for (int j = 0; j < f.Length; j++)
      {
        if (f[j] >= maxValue)
            Console.Write("*");
        else
            Console.Write(" ");
      }
    maxValue--;
    Console.Write("\n");
}
for(int i=0;i<30;i++)//填充数组
f[i]=(int)(10*Math.Sin(2*Math.PI/30*i)+15);
//绘制直方图:
int maxValue=f.Max();
for(int i=0;i=maxValue)
控制台。写(“*”);
其他的
控制台。写(“”);
}
最大值--;
控制台。写入(“\n”);
}
以下是我的代码输出的内容:

但结果应该是这样的:

它的部分工作直到第13行的恒星和空间

正如我从结果中所看到的:它确实有效,但不知何故,外部for循环只想运行13次,然后决定停止,但我不知道为什么。这也是我提出这个问题的原因


提前谢谢

将填充数组部分更改为:

f[i] = (int)(10 * Math.Sin(2 * Math.PI / 30 * i) + 40);

将填充阵列零件更改为:

f[i] = (int)(10 * Math.Sin(2 * Math.PI / 30 * i) + 40);

您在水平和垂直维度中都使用了
maxValue
,这是不对的

更改外循环的退出条件。与此相反:

for (int i = 0; i <= maxValue; i++)

您在水平和垂直维度中都使用了
maxValue
,这是不对的

更改外循环的退出条件。与此相反:

for (int i = 0; i <= maxValue; i++)