Create random number and modify them in array

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.
rcham68Asked:
Who is Participating?
 
Meir RivkinConnect With a Mentor Full stack Software EngineerCommented:
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)
            {
                Console.WriteLine(item);
            }

            //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;
                            break;
                        case 2:
                            arr[i + 1] = 3;
                            break;
                        case 3:
                            arr[i + 1] = 1;
                            break;
                    }
                }
            } 
            Console.WriteLine();

            foreach (int item in arr)
            {
                Console.WriteLine(item);
            }

Open in new window

0
 
rcham68Author Commented:
Thanks for the help Did not remember how to assign a random number to the array
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.