Solved

help (urgent)

Posted on 1997-04-30
8
219 Views
Last Modified: 2010-04-10
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
0
Comment
Question by:9628657
8 Comments
 

Expert Comment

by:SAS
ID: 1163124
Could use some source code. Is x and y an int? how are you defining x and y?
0
 

Author Comment

by:9628657
ID: 1163125
Yes, x and y are defined as integers.
0
 
LVL 2

Expert Comment

by:Philippe
ID: 1163126

The way you discribe it there should be no problem... Can you post more of your code?

 Philippe

0
Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

 
LVL 4

Expert Comment

by:AVaulin
ID: 1163127
What compiler do you use?
0
 

Expert Comment

by:michaelf
ID: 1163128
It is not possible to find error in your code until you post this code!
0
 
LVL 1

Accepted Solution

by:
jmmougeolle earned 10 total points
ID: 1163129
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!

Don't hesitate to ask for more info!


May the MFC be with you!
jmmougeolle@calva.net strikes back!
0
 

Expert Comment

by:Marauder010197
ID: 1163130
The problem you posted is NOT normal (as jmmougeolle said). In fact, x+y = 3, and therefore Numbers[x+y] should give 66, not 12 as you're expecting. But I'd recommend posting most of your program, so that I may be able to find the actual error.
0
 

Expert Comment

by:tooltown
ID: 1163131
jmmougeolle said:

>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.
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

What is C++ STL?: STL stands for Standard Template Library and is a part of standard C++ libraries. It contains many useful data structures (containers) and algorithms, which can spare you a lot of the time. Today we will look at the STL Vector. …
C++ Properties One feature missing from standard C++ that you will find in many other Object Oriented Programming languages is something called a Property (http://www.experts-exchange.com/Programming/Languages/CPP/A_3912-Object-Properties-in-C.ht…
The viewer will learn how to pass data into a function in C++. This is one step further in using functions. Instead of only printing text onto the console, the function will be able to perform calculations with argumentents given by the user.
The viewer will learn how to use the return statement in functions in C++. The video will also teach the user how to pass data to a function and have the function return data back for further processing.

856 members asked questions and received personalized solutions in the past 7 days.

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

Join & Ask a Question