472,805 Members | 1,693 Online

# vectors and arithmetic progression

Hi, I have been attempting a question for hours now and don't seem to be getting anywhere. I have to return a vector of <long> containing the arithmetic progression up to N terms, with a and d long arguments, so
a_n = a+n*d

I have created the function vector<long>arith_prog(long, long, int) like follows:

vector<long> arith_prog(long a, long d, int N)
{
vector<long>arith_vec;
long x = 0;
for( int i = 0; i < N; i++)
{
x = a + i*d;
arith_vec.push_back;
x = arith_vec[i];
}
return arith_vec;
}

Can anyone tell me where I am going wrong?
Thanks
Nov 19 '08 #1
5 3665
boxfish
469 Expert 256MB
Expand|Select|Wrap|Line Numbers
1. arith_vec.push_back;
2. x = arith_vec[i];
You have to pass an argument to push_back. Maybe you meant to push x into the vector?
Expand|Select|Wrap|Line Numbers
1. arith_vec.push_back(x);
By the way, it would be helpful if you used code tags around your code. Put [CODE] before the code and [/CODE] after it, so it shows up in a code box and the indentation isn't wrecked. Thanks.
Hope this helps.
Nov 19 '08 #2
Thanks, but no unfortunately that still doesn't make it work. I realised this mistake just after I had posted my original message. So can anyone help me as to whats wrong. I get loads of error messages when I try to compile it, which I have no idea what they mean.
Expand|Select|Wrap|Line Numbers
1. vector<long> arith_prog(long a, long d, int N)
2.     {
3.     vector<long>arith_vec;
4.     long x = 0;
5.     for( int i = 0; i < N; i++)
6.         {
7.         x = a + i*d;
8.         arith_vec.push_back(x);
9.         x = arith_vec[i];
10.         }
11.     return arith_vec;
12.     }
13.
Nov 20 '08 #3
boxfish
469 Expert 256MB
Thanks.
Edit:
I have put your function in a program that calls it, and it works fine. The errors must be from something else. Maybe you forgot to include vector.
This line of code
Expand|Select|Wrap|Line Numbers
1. x = arith_vec[i];
is unnecessary. x is already equal to arith_vec[i], and at that point in your loop it doesn't matter what x equals anyway.
Nov 20 '08 #4
weaknessforcats
9,208 Expert Mod 8TB
Did you #include <vector> ??
Nov 20 '08 #5
vmpstr
63
and are you using namespace std?
Nov 20 '08 #6