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.

Recommended Answers

All 7 Replies

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

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.