Re[2]: Сохранение динамического массива на диск(неясная проб
От: icWasya  
Дата: 12.09.11 08:10
Оценка:
Здравствуйте, 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
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.