#include <stdio.h>
#include <stdlib.h>
struct matriz{
int** elemento;
int nlinhas;
int ncolunas;
};
typedef struct matriz Matriz;
Matriz* inicializaMatriz(int nlinhas, int ncolunas){
Matriz
* mat
= malloc(sizeof(Matriz
)); mat
->elemento
= malloc(sizeof(int*) * nlinhas
); mat->nlinhas = nlinhas;
mat->ncolunas = ncolunas;
int i;
for (i = 0; i < nlinhas; ++i){
mat
->elemento
[i
] = malloc(sizeof(int) * ncolunas
); }
return mat;
}
void modificaElemento(Matriz* mat, int linha, int coluna, int elem){
mat->elemento[linha][coluna] = elem;
}
int main() {
Matriz* mat = inicializaMatriz(5, 3);
modificaElemento(mat, 1, 1, 15);
printf("%d", mat
->elemento
[1][1]);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCnN0cnVjdCBtYXRyaXp7CiAgICBpbnQqKiBlbGVtZW50bzsKICAgIGludCBubGluaGFzOwogICAgaW50IG5jb2x1bmFzOwp9OwoKdHlwZWRlZiBzdHJ1Y3QgbWF0cml6IE1hdHJpejsKCk1hdHJpeiogaW5pY2lhbGl6YU1hdHJpeihpbnQgbmxpbmhhcywgaW50IG5jb2x1bmFzKXsKICAgIE1hdHJpeiogbWF0ID0gbWFsbG9jKHNpemVvZihNYXRyaXopKTsKICAgIG1hdC0+ZWxlbWVudG8gPSBtYWxsb2Moc2l6ZW9mKGludCopICogbmxpbmhhcyk7CiAgICBtYXQtPm5saW5oYXMgPSBubGluaGFzOwogICAgbWF0LT5uY29sdW5hcyA9IG5jb2x1bmFzOwoKICAgIGludCBpOwogICAgZm9yIChpID0gMDsgaSA8IG5saW5oYXM7ICsraSl7CiAgICAgICAgbWF0LT5lbGVtZW50b1tpXSA9IG1hbGxvYyhzaXplb2YoaW50KSAqIG5jb2x1bmFzKTsKICAgIH0KICAgIHJldHVybiBtYXQ7Cn0KCnZvaWQgbW9kaWZpY2FFbGVtZW50byhNYXRyaXoqIG1hdCwgaW50IGxpbmhhLCBpbnQgY29sdW5hLCBpbnQgZWxlbSl7CiAgICBtYXQtPmVsZW1lbnRvW2xpbmhhXVtjb2x1bmFdID0gZWxlbTsKfQoKaW50IG1haW4oKSB7CgogICAgTWF0cml6KiBtYXQgPSBpbmljaWFsaXphTWF0cml6KDUsIDMpOwogICAgbW9kaWZpY2FFbGVtZW50byhtYXQsIDEsIDEsIDE1KTsKICAgIHByaW50ZigiJWQiLCBtYXQtPmVsZW1lbnRvWzFdWzFdKTsKCiAgICByZXR1cm4gMDsKfQo=