Learn how to a build a cloud-first strategyRegister Now

x
?
Solved

Creating arrays and calculations

Posted on 2008-10-11
10
Medium Priority
?
214 Views
Last Modified: 2013-12-17
I need to create a program in C# that will accepts 10 scores with values of 1-10 and put them in an array, then create an other array representing what percentage of 100 the scores represent. I'm not really sure where to begin. Can anyone offer any suggestions?
~TIA
0
Comment
Question by:98fatboyrider
  • 4
  • 4
  • 2
10 Comments
 
LVL 55

Expert Comment

by:Jaime Olivares
ID: 22695189
you can create a two dimensional array:

int score[][] = new int[10][2];

so, for score write to score[i][0] and for percentages write to score[i][1]
0
 

Author Comment

by:98fatboyrider
ID: 22695248
That gives me a Error Bad array declarator error. Any other suggestions?
    class Program
    {
        static void Main(string[] args)
        {
           int score[][] = new int[10][2];
            int InValue;
 
            Console.WriteLine("Enter 10 scores: ");
            Score = Console.ReadLine();
        }

Open in new window

0
 
LVL 55

Expert Comment

by:Jaime Olivares
ID: 22695285
sorry, mixing C# with C++ (too much work!!), correct way in C# is:

            int[,] score = new int[10,2];
0
What is SQL Server and how does it work?

The purpose of this paper is to provide you background on SQL Server. It’s your self-study guide for learning fundamentals. It includes both the history of SQL and its technical basics. Concepts and definitions will form the solid foundation of your future DBA expertise.

 

Author Comment

by:98fatboyrider
ID: 22695333
I think I have the array filling with the scores, but now how do I do the calculation representing what percentage of 100 the scores are in the second array?
    class Program
    {
 
        static void Main(string[] args)
        {
            int[,] score = new int[10, 2];
            string InValue;
 
            for(int i = 0; i <= 10; i++)
            {
            Console.WriteLine("Enter scores: ");
            InValue = Console.ReadLine();
            score[i, 0] = Convert.ToInt32(InValue);
 
            }
        }
    }
}

Open in new window

0
 
LVL 6

Expert Comment

by:alex_paven
ID: 22696551
Something like this?

for (int i = 0; i < scores.GetUpperBound(0); i++) {
  scores[i][1] = Math.Round(scores[i][0] / maxScore, 2) * 100;
} //where maxScore is the maximum value of the score.

Open in new window

0
 
LVL 6

Expert Comment

by:alex_paven
ID: 22696556
Sorry, the correct line should be

scores[i,1] = Convert.ToInt32(Math.Round(scores[i,0] / maxScore, 2) * 100);

Open in new window

0
 
LVL 55

Accepted Solution

by:
Jaime Olivares earned 1500 total points
ID: 22696589
each time you input a new number you should accumulate a total, so at the end of input you will be able to evaluate each score as percentage:

        static void Main(string[] args)
        {
            int[,] score = new int[10, 2];
            string InValue;
            int total = 0;   // <-------------- accumulator
            int value;   // <------------ instant value
 
            for(int i = 0; i <= 10; i++)
            {
               Console.WriteLine("Enter scores: ");
               InValue = Console.ReadLine();
               value = Convert.ToInt32(InValue);
               score[i, 0] = value;
               total += value;
            }
        }

well after this first for() loop, you will need a second for() loop to determine the percentage as:

      percentage = value * 100 / total;
0
 

Author Comment

by:98fatboyrider
ID: 22698257
Thanks for the help, but it still seem to be missing something. This is all fairly new to me, so any suggestions would be greatly appreciated.
        static void Main(string[] args)
        {
            int[,] score = new int[10, 2];
            string InValue;
            int total = 0;
            int value;
            int percentage;
            int maxScore;
 
            for(int i = 0; i <= 10; i++)
            {
            Console.WriteLine("Enter scores: ");
            InValue = Console.ReadLine();
            value = Convert.ToInt32(InValue);
            score[i, 0] = value;
            total += value;
 
            for (int j = 0; j < score.GetUpperBound(0); j++)
            {
                score[j, 1] = Convert.ToInt32(Math.Round(score[j, 0] / maxScore, 2) * 100);
                percentage = value * 100 / total;
                Console.WriteLine(score[i, j]);
            }
            }
        }
    }
}

Open in new window

0
 
LVL 55

Expert Comment

by:Jaime Olivares
ID: 22699370
appears to be you need a litte variation:

 static void Main(string[] args)
        {
            int[,] score = new int[10, 2];
            string InValue;
            int total = 0;
            int value;
            int percentage;
            int maxScore;
 
            for(int i = 0; i <= 10; i++)
            {
                Console.WriteLine("Enter scores: ");
                InValue = Console.ReadLine();
                value = Convert.ToInt32(InValue);
                score[i, 0] = value;
                total += value;
            }    // close loop here

            for (int j = 0; j < score.GetUpperBound(0); j++)
            {
                score[j, 1] = Convert.ToInt32(Math.Round(score[j, 0] / maxScore, 2) * 100);
                percentage = value * 100 / total;
                Console.WriteLine(score[i, j]);
            }
        }
    }
}
0
 

Author Comment

by:98fatboyrider
ID: 22857379
static void Main(string[] args)
        {
            int[] score = new int[10];
            string InValue;
            int total = 0;
            int value;
            Double Ave;

            for (int i = 0; i < 10; i++)
            {
                Console.WriteLine("Enter scores: ");
                InValue = Console.ReadLine();
                value = Convert.ToInt32(InValue);
                //score[i, 0] = value;
                score[i] = value;
               // total += value;
            }

            Array.Sort(score);
            for (int i = 1; i < 9; i++)
            {
                total += score[i];
            }
            Ave = total / 8;
            Console.WriteLine("\nAverage = "+ Ave);
            Console.Read();
        }
    }
}
0

Featured Post

Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
Hello there! As a developer I have modified and refactored the unit tests which was written by fellow developers in the past. On the course, I have gone through various misconceptions and technical challenges when it comes to implementation. I would…
this video summaries big data hadoop online training demo (http://onlineitguru.com/big-data-hadoop-online-training-placement.html) , and covers basics in big data hadoop .
When cloud platforms entered the scene, users and companies jumped on board to take advantage of the many benefits, like the ability to work and connect with company information from various locations. What many didn't foresee was the increased risk…
Suggested Courses
Course of the Month20 days, 19 hours left to enroll

810 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question