("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...