With monday.comâ€™s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

I have a little problem concerning arrays.

Say I have an array called Numbers and it has 10 elements :

array pointer contents

0 3

1 8

2 12

3 66

4 7

5 128

6 1001

7 45

8 63

9 1137

To access for example the third elemnt in the array, I have to write, cout << Numbers[2] << endl ;

and that would print 12.

But if I had two variables, x = 1 and y = 2 then typing, cout << Numbers[x+y] does not print 12, instead it prints 3.

Does anyone know why that is, and how can I correct this so that it prints the contents instead.

Cheers.

My email address is :

a.Al-allak@uea.ac.uk

Say I have an array called Numbers and it has 10 elements :

array pointer contents

0 3

1 8

2 12

3 66

4 7

5 128

6 1001

7 45

8 63

9 1137

To access for example the third elemnt in the array, I have to write, cout << Numbers[2] << endl ;

and that would print 12.

But if I had two variables, x = 1 and y = 2 then typing, cout << Numbers[x+y] does not print 12, instead it prints 3.

Does anyone know why that is, and how can I correct this so that it prints the contents instead.

Cheers.

My email address is :

a.Al-allak@uea.ac.uk

1 Solution

Your X+Y value give a result of 3 So Numbers[3] is exactely 3!

What you want to have as a X+Y result is 2!!! Not 3! SO Numbers[2] will give you 12, and that's what you are expecting!

In fact, the error come from the 0 based organisation of your coordinate!

Don't hesitate to ask for more info!

May the MFC be with you!

jmmougeolle@calva.net strikes back!

>That's normal you got that result...

>Your X+Y value give a result of 3 So Numbers[3] is exactely 3!

>What you want to have as a X+Y result is 2!!! Not 3! SO >Numbers[2] will give you 12, and that's what you are expecting!

>In fact, the error come from the 0 based organisation of your >coordinate!

I do not believe this answer to be correct for the following reason: If you want x+y to give you the answer 2 so the number 12 will be displayed, why was 66 not displayed when x+y summed to 3? 66 is the value in element 3 of the array and that is what should have been displayed if jmmougeolle's theory is correct. Just a thought....no offense is intended.

Tackle projects and never again get stuck behind a technical roadblock.

Join Now