Create random number and modify them in array

Posted on 2010-11-08
Last Modified: 2012-05-10
Write a program to do the following.  First, create an array of 10 elements of  int type.  Use a random number generator to generate the 10 elements.  Each element is a random integer that is either 1, 2 or 3.  Once these 10 random elements are generated, display them in the console window.

      Next, examine the elements and modify them if necessary.  Our goal is that no two consecutive elements are the same.  In other words, every element must be different from the element right before it.  For example, if both the 4th and the 5th elements are 2, change the 5th element to something else.  The rules we use to modify the elements are as follows.  If there are two consecutive elements of 1, change the second 1 to 2.  If there are two consecutive elements of 2, change the second 2 to 3.  If there are two consecutive elements of 3, change the second 3 to 1.  After all the necessary changes are made, display all the 10 elements of the modified array.
Question by:rcham68
LVL 42

Accepted Solution

sedgwick earned 500 total points
ID: 34083656
here you go:
 Random rnd = new Random(0);
            int[] arr = new int[10];
            for (int i = 0; i < 10; i++)
                arr[i] = rnd.Next(1, 4);

            foreach (int item in arr)

            //after rules modification
            for (int i = 0; i < 9; i++)
                if (arr[i] == arr[i + 1])
                    switch (arr[i])
                        case 1:
                            arr[i + 1] = 2;
                        case 2:
                            arr[i + 1] = 3;
                        case 3:
                            arr[i + 1] = 1;

            foreach (int item in arr)

Open in new window


Author Closing Comment

ID: 34083930
Thanks for the help Did not remember how to assign a random number to the array

Featured Post

On Demand Webinar - Networking for the Cloud Era

This webinar discusses:
-Common barriers companies experience when moving to the cloud
-How SD-WAN changes the way we look at networks
-Best practices customers should employ moving forward with cloud migration
-What happens behind the scenes of SteelConnect’s one-click button

Question has a verified solution.

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

Article by: Ivo
C# And Nullable Types Since 2.0 C# has Nullable(T) Generic Structure. The idea behind is to allow value type objects to have null values just like reference types have. This concerns scenarios where not all data sources have values (like a databa…
Introduction Although it is an old technology, serial ports are still being used by many hardware manufacturers. If you develop applications in C#, Microsoft .NET framework has SerialPort class to communicate with the serial ports.  I needed to…
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…
In an interesting question ( here at Experts Exchange, a member asked how to split a single image into multiple images. The primary usage for this is to place many photographs on a flatbed scanner…

679 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