Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Become a Premium Member and unlock a new, free course in leading technologies each month.

Solved

Posted on 1997-04-30

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

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

- Help others & share knowledge
- Earn cash & points
- Learn & ask questions

8 Comments

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.

Question has a verified solution.

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

The viewer will learn how to clear a vector as well as how to detect empty vectors in C++.

Earn Certification

HTML5 Specialist - Certification

Free withPremium

Course of the Month9 days, 19 hours left to enroll

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