Loop over Array values.

hello I’m converting a C# piece of code and am stumped over this line

			int arr [] = { 1, 2, 3, 4, 5, 6, 5, 4 };



            // Loop over LED's

            for (int i = 0; i < Rp1; i++)
            
			{

                [b]foreach (int s in arr)[/b]   <<<<<<<Does not like this line
              
				{

                    switch (s)
                    
                        case 6:

                            //Console.WriteLine("Light the sixth LED");
                            break;

                        case 5:

                           // Console.WriteLine("Light the Fifth LED");
                            break;

                        case 4:

                           // Console.WriteLine("Light the Fouth LED");
                            break;

                        case 3:

                           // Console.WriteLine("Light the Third LED");
                            break;

                        case 2:

                           // Console.WriteLine("Light the Second LED");
                            break;

                        case 1:

                           // Console.WriteLine("Light the First LED");
                            break;

                        case 0:

                           // Console.WriteLine("Pause ,do nothing");
                            break;
                    }
				}

               

                }code]

What would be the c++ equivalent?

Thanks

Geoff

Maybe this would help:

for (int i=0; i<sizeof arr/sizeof arr[0]; i++) {
    int s = arr[i];
1 Like

Thanks Guys

Now its failing in the second “switch” section on case 5 onwards .case 6 is fine?

void setup()
{

  /* add setup code here */

}

void loop()
{

  //**Hard Coded Value for BPM

            double n = 60;

            //**Hard Coded Value for aaray size

            int Ar1 = 8;

            //**Hard Coded Value

            int n1 = 4; // This will be a user entered value eventually but for now its hard coded.

            double mili = 1000;

            switch (n1)
            {
                case 1:
                  
                    mili = (n / 60) * 1000;

                    break;

                case 2:
                   
                    mili = (n / 120) * 1000;

                    break;

                case 3:
              
                    mili = (n / 240) * 1000;

                    break;

                case 4:
                 
                    mili = (n / 480) * 1000;

                    break;

                default:
                 
                    break;
            }

            //**Hard Coded Value number of times to repeat

            int Rp1 = 1;

            //**Hard Coded Value


			int arr [] = { 1, 2, 3, 4, 5, 6, 5, 4 };



            // Loop over LED's

            for (int i = 0; i < Rp1; i++)
            
			{

                /*foreach (int s in arr)*/

				for (int i=0; i<sizeof arr/sizeof arr[0]; i++)
				
				{
					int s = arr[i];
              
				{

                    switch (s)
                    
                        case 6:

                            //Console.WriteLine("Light the sixth LED");
                            break;

                        case 5:                                                                     /*<<<<<<<<<<<Fails Here*/

                           // Console.WriteLine("Light the Fifth LED");
                            break;

                        case 4:                                                                    /* <<<<<<<<<<<Fails Here*/

                           // Console.WriteLine("Light the Fouth LED");
                            break;

                        case 3:                                                                    /*<<<<<<<<<<<Fails Here*/

                           // Console.WriteLine("Light the Third LED");
                            break;

                        case 2:                                                                   /* <<<<<<<<<<<Fails Here*/

                           // Console.WriteLine("Light the Second LED");
                            break;

                        case 1:                                                                   /* <<<<<<<<<<<Fails Here*/

                           // Console.WriteLine("Light the First LED");
                            break;

                        case 0:

                           // Console.WriteLine("Pause ,do nothing");
                            break;
                    }
				}

               

                }
			}

Regards

Geoff

You need an opening curly bracket after the switch command line and a corresponding closing one later.

                   }
				}

               

                }
			}

Arrrrgghhh! My eyes!

1 Like

thanks couldn't see the wood for the tree's :astonished:

... If using the Arduino GUI editor, placing the cursor immediately after any curley, { }, will highlight the matching curly. A few seconds in checking matching structures will help avoid ambiguous compiler messages.

Ray

Code:
}
}

}
}
Arrrrgghhh! My eyes!

Classic humor... I've started reading AWOL's posts as a compilation, generally a smile is to be found in the replies.

Pressing CTRL-T will auto format the code which makes it more consistent / readable

1 Like