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

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.

Title | # Comments | Views | Activity |
---|---|---|---|

MSVCR80.dll crash | 2 | 126 | |

simple way to manipulate chinese characters in vb6 application. | 13 | 212 | |

Writing a parser for java language | 4 | 61 | |

operator overload: incompatible type and too many params | 5 | 44 |

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

Connect with top rated Experts

**12** Experts available now in Live!