1 Востаннє редагувалося Дмитро-Чебурашка (27.06.2016 19:04:20)

Тема: Як на друк або у файл адреси тривимірного масиву?

Доброго часу доби!
Напишіть будь ласка, як саме виводити на друк або у файл адреси тривимірного масиву? Якось на кшталт зпочатку покажчік третього рівня, потим вже покажчіки другого рівня і потім покажчіки де вже самі дані лежать.

Тобто припустимо що є таке ось завихрення коду, або схоже. Десь на п ятому виклику фкциї трапляється щось не те....

Звісно я бажаю відслідкувати всі виділення та всі знищення пам'яти всіх рівнів, бо безумовно я щось плутаю, адже не вміщується в мене картина уся в голові, безумовно.

if(Ves_masyv != NULL)
{
    for( int i = 0; i <= NUMRYADOK+1; ++i )
    {
        for( int J = 0; J <= Pamjatay[NUMRYADOK]+1; ++J)
        {
            delete[] Ves_masyv[ i ][J];
            Sleep(1000);
        }
    }
    for (int A = 0; A <= NUMRYADOK+1; A++)
        delete[] Ves_masyv[ A ];
    delete[] Ves_masyv;
}
Ves_masyv = dokument;

Будь ласка, краще за усе прикладами коду покажіть.

2

Re: Як на друк або у файл адреси тривимірного масиву?

Дмитро-Чебурашка написав:

Як на друк або у файл адреси тривимірного масиву?

Мені здається, чи ви дієслово?

Дмитро-Чебурашка написав:

Десь на п ятому виклику фкциї трапляється щось не те....

Вас влаштує відповідь зі словами "десь" і "щось"? Якщо ні - то чому ви вважаєте нормальним питання із цими словами?
Ви навели код, який звільнює пам'ять. Що це за пам'ять, як ви її виділяєте, яка функція дає "щось не те" і в чому це "щось не те" полягає - ми не знаємо і знати не можемо.
І найголовніше - в C++ немає тривимірних масивів. Є статичні масиви, є динамічні масиви, є std::vector, std::array і ще купа варіантів. Щоб зберігати багатовимірні масиви, можна використовувати - УВАГА - практично будь-яку комбінацію цих варіантів: статичний масив вказівників на динамічні масиви vector-ів, array статичних масивів вказівників на динамічні масиви і т.д. і т.п. Що саме з цього ви хочете зробити - ви не кажете, тому допомогти вам без телепатії можливостей нема.

Дмитро-Чебурашка написав:

Напишіть будь ласка, як саме виводити на друк або у файл адреси тривимірного масиву?
Будь ласка, краще за усе прикладами коду покажіть.

stream << std::hex << (ptr) << '\n';
де stream - поток виводу, куди вам треба, ptr - адреса, яку ви хочете вивести. Задоволені?

Re: Як на друк або у файл адреси тривимірного масиву?

Так, дякую, здається це саме те що потрібно, я зараз спробую.