hi i am new to this forum and my major is computer science...this is the best thing i found on the web yet....i will try to help you out anyway i can.....i need help on this program...thanks


1. create a dynamicarray to hold the first 10 odd intergers. now create the array to triple its size to hold the first 30 odd integers.

So, what have you done so far? Do you not understand the assignment?

Hint: use a for loop, the modulus operator with the number two to find if it is even or odd

For arrays read here:-
http://www.cprogramming.com/tutorial/lesson8.html

For modulus operator, read here:-
http://www.cprogramming.com/tutorial/modulus.html

You'll be needing for loops also. So read here:-
http://www.cprogramming.com/tutorial/lesson3.html

I suggest you declare a global variable call SIZE (and equate it to 10).
And use the SIZE in your array like this:-
array ;
and in your for loop also. Like this:-
for (int i=0; i<SIZE; i++)
{
:
do your odd number generator here
and equate it into your dynamic array
:
}

For the second part of the question, just equate SIZE (your global variable) to 30.

Hope this helps.

ok i will do this...and post here...and if there's any error pls help me out

ok here we go.....ERRORS...

#include <iostream>
using namespace std;

int main ()
{
	int num_cells=10;
	int * a;
	a * new int[num_cells];
	for (int i=0; i<num_cells; i++)
		a(i)=30*1+1;
	cout<<"a:";
	for (i=0; i<num_cells; i++)
		int=b;
	b=new int [3*num_cells];
	cout<<a(i)<<
		cout <<endl;
	for(i=0; i<num_cells; i++)
		b (i) = a(i);
	delete [] a;
	num_cells *=3;
		a=b;
		b=nul;
	cout << "Size of array has tripled\n";
		for (i=num_cells; i<num_cells; i++)
			a(i>=10*i+1);
			cout<<"a:";
		for (i=0; i<num_cells; i++)
			cout << a [1]<<"";
		cout<<endl;
		delete [] a;
		return 0;
}

<< moderator edit: added [code][/code] tags >>

Arrays are indexed a, not a(i).

a * new int[num_cells];

Typo?

a = new int[num_cells];
int=b;

Did you mean i instead of int?

b=nul;

b? nul?

Learn to use whitespace to make your code easier to read.

Well, your codes are a little misleading. I don't quite understand what you are doing. Anyway, I'll go step by step with you. First, make sure you have this in mind:- A 10 block array like this [] [] [] [] [] [] [] [] [] []

for (int i=0; i<num_cells; i++)
		a[i]=30*1+1;
cout<<"a:";

Here, I can only interpret one thing. The array will be filled with number 31 like this:- [31] [31] [31] [31] [31] [31] [31] [31] [31] [31]
But on screen you'll only see a: as you didn't include the output into your loop

Then, I see that you transfer the array a to array b. Which I do not see the need for this. But please correct me if I'm wrong

for(i=0; i<num_cells; i++)
		b [i] = a[i];
for (i=0; i<num_cells; i++)
	cout << a [1]<<"";

If everything works well, you'll only get something like this a [1]a [1]a [1]a [1]a [1]a [1]a [1]a [1]a [1]a [1]

The rest of the problem, I believe Dave had already mention them.

thanku for all the help...i will give another shot and post it here....

This article has been dead for over six months. Start a new discussion instead.