By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
454,948 Members | 1,230 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 454,948 IT Pros & Developers. It's quick & easy.

vectors and arithmetic progression

P: 4
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)
long x = 0;
for( int i = 0; i < N; i++)
x = a + i*d;
x = arith_vec[i];
return arith_vec;

Can anyone tell me where I am going wrong?
Quick reply would be great!
Nov 19 '08 #1
Share this Question
Share on Google+
5 Replies

Expert 100+
P: 469
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

P: 4
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.     }
Nov 20 '08 #3

Expert 100+
P: 469
Please post the error messages here so it's easier for people to help you.
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

Expert Mod 5K+
P: 9,197
Did you #include <vector> ??
Nov 20 '08 #5

P: 63
and are you using namespace std?
Nov 20 '08 #6

Post your reply

Sign in to post your reply or Sign up for a free account.