*) malloc (sizeof (double *) * (matr-> m)))) return 0;
for (int i = 0; i m; i + +)
{
if (! (matr-> ptr [i] = (double *) Malloc (sizeof (double) * (matr-> n)))) return 0;
}
return 1;
}
void FreeMatr (Matr * matr)
{
for (int i = 0; i m; i + +)
{
if (matr-> ptr [i]) free (matr-> ptr [i]);
}
if (matr-> ptr) free (matr-> ptr);
}
void Setelem (Matr * matr, double M [3] [3])
{
for (int i = 0; i m; i + +)
{
for (int j = 0; j n; j + +) (matr-> ptr [i] [j]) = M [i] [j];
}
}
double OctNorm (Matr * matr)
{
double max = 0;
double a = 0;
for (int i = 0; i m; i + +)
{
max + = matr-> ptr [i] [0];
}
for (int j = 0; j n; j + +)
{
for (i = 0; i m; i + +)
{
a + = matr-> ptr [i] [j];
}
if (a> max) max = a;
a = 0;
}
return max;
}
Завдання № 14
# include
# include
# include
# include
void main (void)
{
long N = 1;
char * A;
A = (char *) calloc (N, 1024);// Виділення в купі місця
do
{
free (A);// Звільнення масиву
A = (char *) calloc (N, 1024);// Виділення пам'яті під більший масив
N + +;// Збільшення лічильника
}
while (A! = NULL);// Продовжувати поки пам'ять виділяється
printf (" nMaximum size of heap N =% iKb", N) ;//Висновок результатів
}
Завдання № 16
# include
# include
# include
# include
# include
struct MATR
{
int n, m;
double ** ptr;
int read_ (char name [80])
{
FILE * pf;
int i = 0, j = 0;
char c;
char num [10];
int pos = 0, flag = 1;
m = 0;
n = 0;
if (! (pf = fopen (name, "rt"))) return 0;
ptr = (double **) malloc (sizeof (double *));
ptr [0] = (double *) malloc (sizeof (double));
while ((c = fgetc (pf))! = EOF)
{
if (((C> = '0 ') && (c <= '9')) | | (c == '.')) p> {
num [pos] = c;
pos + +;
flag = 1;
}
if ((c == '') && (flag))
{
flag = 0;
num [pos] = 0;
ptr [i] [j] = atof (num);
j + +;
ptr [i] = (double *) Realloc (ptr [i], sizeof (double) * (j +1));
pos = 0;
}
if ((c == ' n') && (flag))
{
flag = 0;
num [pos] = 0;
ptr [i] [j] = atof ...