Indeed, to store a fixed-sized array in a vector, make it copyable by wrapping it up in a struct. To maximize reusability, you can make the struct a template:

Code:

#include <vector>
template <class T, unsigned Size>
struct ArrayWrapper
{
T array[Size];
};
int main()
{
std::vector<ArrayWrapper<float, 3> > one_vector;
for(int i=0; i< 49; i++) {
ArrayWrapper<float, 3> arr = {{ float(i), float(i + 1), float(i + 2) }};
one_vector.push_back(arr);
}
}

In fact you might find a more convenient version of the above in boost: Boost.Array. You may also check if your SC++L implements tr1 (planned library additions in C++0x).