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.

## 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 <<"";
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:-          
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 <<"";``````

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

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, learning, and sharing knowledge.