Jericho
Jericho

Reputation: 81

How to print stars depending on value of an array?

I recently make a program to calculate sum and avg of a given array. The program also want to print the histogram or stars pattern match with value of index.

Like this:

arraySS

This is the code I wrote so far:

private void process_Click(object sender, EventArgs e)
{
    string temp2 = null;
    string temp3 = null;
    float sum=0;
    int countingNumber = 1;
    string message;
    int count = Convert.ToInt32(inputArray.Text);
    int[] varray = new int[count];
    for (int i = 0; i < count; i++)
        //for (int j = 1; j <= count; j++)
        {           
            varray[i] = Convert.ToInt32(Interaction.InputBox(message = "enter the value of array number " + countingNumber));
            sum = sum+ varray[i];
            temp += countingNumber + "           "+varray[i] + Environment.NewLine;
            temp2 += countingNumber + "                " + varray[i] + "             *" + Environment.NewLine;
            box1.Text = Convert.ToString("Index     Value" + Environment.NewLine + temp);
            boxSum.Text = Convert.ToString(sum);
            boxAvg.Text = Convert.ToString(sum/count);
            countingNumber++;
        }
        for (int stars = 0; stars <= i; stars++)
        {
            temp3 = " ";
            box2.Text = Convert.ToString("Element     Value    Histogram" + Environment.NewLine + temp2+temp3);
        }
    }
}

My code won't print the stars match with the value. Could anybody help me?

Upvotes: 1

Views: 564

Answers (1)

smithereens
smithereens

Reputation: 56

Try replacing this line:

temp2 += countingNumber + "                " + varray[i] + "             *" + Environment.NewLine;

with this line:

temp2 += countingNumber + "                " + varray[i] + "          " + new String('*', i) + Environment.NewLine;

Upvotes: 3

Related Questions