Здравствуйте, wander, Вы писали:
W>Здравствуйте, Paul4936, Вы писали:
P>>прошу помочь.
W>Все дело в том, что ты пытаешься сохранить всю память как единый блок. Природа твоих массиов совсем иная, они располагаются в разных участках памяти и ты сохраняешь совсем другие данные с выходом за допустимый диапазон.
W>В общем как вариант, чтобы получить требуемое поведение — убери выделение памяти в цикле и сразу пиши:
W>W> TYPE* data = new TYPE[LENGHT*WIDTH];
W>
W>Ну а дальше логически представить эту память как двумерный массив думаю не составит труда
например так
TYPE** data;
TYPE* data0;//<<==--
data = new TYPE*[LENGHT];
data0 = new TYPE*[LENGHT*WIDTH];//<<==--
for(i=0;i<LENGHT;i++)
{
data[i]= & data0 [i*WIDTH]; //<<==--
}
for (i=0;i<LENGHT;i++)
{
for (j=0;j<WIDTH;j++)
{
data[i][j]=i/(j+1);
};
};
и сохранять/считывать именно содежимое data0