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

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





har ** mas;

int c, m = 0, n = 0;

mas = (char **) malloc (sizeof (char *));// Виділення пам'яті під перше число

mas [0] = (char *) malloc (sizeof (char));// Виділення пам'яті під першу позицію// цифри в числі

printf ("Intput n");

while ((c = getch ()) - '0 ')// Ще не ввели 0

{

if (c == 13)// При натисканні Enter виділення пам'яті

{//під нове число

mas [m] [n] = 0;

m + +;

if (! (mas = (char **) realloc (mas, sizeof (char *) * (m +1))))

{

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

exit (1);

}

n = 0;

putch (10);// Переклад карреткі і переклад рядка

putch (13);// при виведенні на екран

}

if ((c <'0 ') | | (c> '9')) continue;// Перевірка на введення тільки цифр

if ((! n) && (m))// Виділення пам'яті під першу позицію

{//в наступному числі

if (! (mas [m] = (char *) malloc (sizeof (char))))

{

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

exit (1);

}

}

mas [m] [n] = c;// Занесення цифри на потрібну позицію

n + +;// в число

if (n)// Виділення пам'яті під наступну

{//позицію в числі

if (! (mas [m] = (char *) realloc (mas [m], sizeof (char) * (n +1))))

{

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

exit (1);

}

}

putch (c);// Висновок цифри на екран

}


printf ("Output n");

for (int i = 0; i

// Виведення всіх чисел на екран

for (i = 0; i

// Звільнення пам'яті

if (mas) free (mas);

return 0;

}


Завдання № 12

# include

# include

# include

# include

struct Matr {

int m, n;

double ** ptr;

void SetRazm (int mm, int nn)

{

m = mm;

n = nn;

}

};

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

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

void Setelem (Matr * matr, double M [3] [3]);

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

double OctNorm (Matr * matr);// функція обчислення норми матриці

main ()

{

clrscr ();

double M_ [3] [3] = {{1,2,3}, {4,5,6}, {7,8,9}};

Matr M;

M.SetRazm (3,3);

if (! DinMatr (& M))

{

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

exit (1);

}

Setelem (& M, M_);

printf ("% f n", OctNorm (& M));

FreeMatr (& M);

return 0;

}

int DinMatr (Matr * matr)

{

if (! (matr-> ptr = (double *...


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





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

  • Реферат на тему: Розробка алгоритму синтаксичного аналізу оператора виведення printf мови C ...
  • Реферат на тему: Виділення білків
  • Реферат на тему: Динамічне виділення оперативної пам'яті
  • Реферат на тему: Фізіологія травлення і виділення
  • Реферат на тему: Виділення та застосування терпенів