I have an array defined as;
static double Temp_data[TABLE_SIZE];
I want to change the size of the array according to the user input. Is this possible? Please help me. Thanks.
No. You probably want to use std::vector<double> Temp_data;
Then you can use its resize() member function to set the size as you see fit.
Edit: just to be clear, you generally want to avoid using new directly if you can (and in this case, you can very easily). Direct use of new is a constant source of bugs of quite a few types. std::vector handles quite a few corner cases that are difficult to get correct with new, ensures that the data gets cleaned up when it goes out of scope, etc.
I've said before, and I'll repeat here: at one time, you had little choice but to write code that used new. Now, you do have a choice -- and you should exercise it. Given a modern compiler and standard library, there's almost never any reason to allocate an array with new.
vector and use push_back to add as many items as you want (well, up to a limit, of course). If, however, the user is supplying a size, you can use resize to make it that size.reserve() maybe a better choice though.)std::vector with a function that requires an array -- when you need to call that function, just give it &myvector[0], or (with a newer compiler) myvector.data().Use dynamic memory allocation.
int size;
cin>>size
int *ptr = new int[size];
vector is the one that really gives you more control. In any case, it's at least partly true -- if you really need something that doesn't resize (for example), consider std::array instead. Searching (for one example) isn't part of vector though -- you'd use a standard algorithm, which an apply just as well to an array.