#include <stdio.h>
#include <stdlib.h>
void init_matrix ( double** m, unsigned n )
{
int i, j;
for ( i = 0; i < n; i++ )
{
for ( j = 0; j < n; j++ )
{
m[i][j] = n;
}
}
}
void display_matrix ( double** m, unsigned n )
{
int i, j;
for ( i = 0; i < n; i++ )
{
for ( j = 0; j < n; j++ )
{
}
}
}
void free_matrix ( double** m, unsigned n )
{
int i;
for ( i = 0; i < n; i++ )
}
int main(void)
{
double** M = NULL;
const int nmax = 10;
int i, n;
for ( n = 1; n <= nmax; n++ )
{
for ( i = 0; i < n - 1; i++ )
{
M
[i
] = realloc(M
[i
], n
*sizeof(double)); }
M
[n
-1] = malloc(n
*sizeof(double));
init_matrix(M, n);
display_matrix(M, n);
}
free_matrix ( M, nmax );
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCnZvaWQgaW5pdF9tYXRyaXggKCBkb3VibGUqKiBtLCB1bnNpZ25lZCBuICkKewogICAgaW50IGksIGo7Cglmb3IgKCBpID0gMDsgaSA8IG47IGkrKyApCgl7CgkJZm9yICggaiA9IDA7IGogPCBuOyBqKysgKQoJCXsKCQkJbVtpXVtqXSA9IG47CgkJfQoJfQp9Cgp2b2lkIGRpc3BsYXlfbWF0cml4ICggZG91YmxlKiogbSwgdW5zaWduZWQgbiApCnsKCWludCBpLCBqOwoJZm9yICggaSA9IDA7IGkgPCBuOyBpKysgKQoJewoJCWZvciAoIGogPSAwOyBqIDwgbjsgaisrICkKCQl7CgkJCXByaW50ZiAoIiUzLjBsZiIsIG1baV1bal0gKTsKCQl9CgkJcHV0Y2hhcignXG4nKTsKCX0KCXB1dGNoYXIoJ1xuJyk7Cn0KCnZvaWQgZnJlZV9tYXRyaXggKCBkb3VibGUqKiBtLCB1bnNpZ25lZCBuICkKewoJaW50IGk7Cglmb3IgKCBpID0gMDsgaSA8IG47IGkrKyApCgkJZnJlZSAoIG1baV0gKTsKCWZyZWUgKCBtICk7Cn0KCmludCBtYWluKHZvaWQpCnsKCWRvdWJsZSoqIE0gPSBOVUxMOwoJY29uc3QgaW50IG5tYXggPSAxMDsKCWludCBpLCBuOwoKCWZvciAoIG4gPSAxOyBuIDw9IG5tYXg7IG4rKyApCgl7CgkJTSA9IHJlYWxsb2MoTSwgbipzaXplb2YoZG91YmxlKikpOwoJCWZvciAoIGkgPSAwOyBpIDwgbiAtIDE7IGkrKyApCgkJewoJCQlNW2ldID0gcmVhbGxvYyhNW2ldLCBuKnNpemVvZihkb3VibGUpKTsKCQl9CgkJTVtuLTFdID0gbWFsbG9jKG4qc2l6ZW9mKGRvdWJsZSkpOwoKCQlpbml0X21hdHJpeChNLCBuKTsKCQlkaXNwbGF5X21hdHJpeChNLCBuKTsKCX0KCQkKCWZyZWVfbWF0cml4ICggTSwgbm1heCApOwoJc3lzdGVtKCJwYXVzZSIpOwoJcmV0dXJuIDA7Cn0=