Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Динамічний розподіл пам'яті

Реферат Динамічний розподіл пам'яті





("N =% i% i n", i, mas [i]);

}

// Звільнення пам'яті з під масиву ва

free (mas);

return 0;

}


Завдання № 8

# include

# include

# include

# include

// Структура Matr1, яка містить розміри матриці, а також одновимірний

// масив елементів матриці і функцію для завдання розмірів матриці

struct Matr1 {

int m, n;

int * ptr;

void SetRazm (int mm, int nn)

{

m = mm;

n = nn;

}

};

// Структура Matr1, яка містить розміри матриці, а також двовимірний

// масив елементів матриці і функцію для завдання розмірів матриці

struct Matr2 {

int m, n;

int ** ptr;

void SetRazm (int mm, int nn)

{

m = mm;

n = nn;

}

};

int DinMatr1 (Matr1 * matr);// функція виділення пам'яті для Matr1

int DinMatr2 (Matr2 * matr);// функція виділення пам'яті для Matr2

void FreeMatr1 (Matr1 * matr);// функція звільнення пам'яті з під Matr1

void FreeMatr2 (Matr2 * matr);// функція звільнення пам'яті з під Matr2

main ()

{

clrscr ();

Matr1 M1;// Створення примірника Matr1

Matr2 M2;// Створення примірника Matr2

M1.SetRazm (2,2);// Завдання розмірів Matr1

M2.SetRazm (2,2);// -// - Matr2

if (! DinMatr1 (& M1))// Виділення пам'яті для Matr1

{

printf ("Не вистачає пам'яті під M1 n");

exit (1);

}

if (! DinMatr2 (& M2))// -// - Matr2

{

printf ("Не вистачає пам'яті під M2 n");

exit (1);

}


FreeMatr1 (& M1);// Звільнення пам'яті з під Matr1

FreeMatr2 (& M2);// -// - Matr2


return 0;

}

int DinMatr1 (Matr1 * matr)

{

if (! ((matr-> ptr) = (int *) Malloc (sizeof (int) * (matr-> m) * (matr-> n)))) return 0;

return 1;

}

int DinMatr2 (Matr2 * matr)

{

if (! (matr-> ptr = (int **) malloc (sizeof (int *) * (matr-> m)))) return 0;

for (int i = 0; i m; i + +)

{

if (! (matr-> ptr [i] = (int *) malloc (sizeof (int) * (matr-> n)))) return 0;

}

return 1;

}

void FreeMatr1 (Matr1 * matr)

{

if (matr-> ptr) free (matr-> ptr);

}

void FreeMatr2 (Matr2 * matr)

{

for (int i = 0; i m; i + +)

{

if (matr-> ptr [i]) free (matr-> ptr [i]);

}

if (matr-> ptr) free (matr-> ptr);

}


Завдання № 10

# include

# include

# include

# include

main ()

{

clrscr ();

c...


Назад | сторінка 3 з 6 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Return to materialism
  • Реферат на тему: Автоматизація розв'язання задачі на находженіе матриці в складі іншої м ...
  • Реферат на тему: Розробка в середовищі Turbo Pascal програми обчислення суми елементів рядкі ...
  • Реферат на тему: Розробка в середовищі Turbo Pascal програми сортування елементів, що знаход ...
  • Реферат на тему: Матриці