#include <stdio.h>
#include <stdlib.h>
#define MAX 100
int **matriz_le(int n, int m){
// obs: na alocação de matrizes de ponteiros, é necessário alocar primeiro as linhas e dps a coluna.
int **M = malloc(n * sizeof(int)); // Aqui aloquei o vetor dinâmicamente com o número de linhas fornecido.
int i, j;
// agora, alocar memória separadamente para cada linha (array de colunas)
for(i = 0; i < n; i++){
M[i] = malloc(m * sizeof(int)); // para cada linha, aloca uma quantidade de memórias com o malloc
}
for(i = 0; i < n; i++){
for(j = 0; j < m; j++){
scanf("%d", &M[i][j]);
}
}
return M; // retorna o ponteiro para a matriz
}
void matriz_print(int **M, int n, int m){
int i, j;
for(i = 0; i < n; i++){
for(j = 0; j < m; j++){
printf("%d ", M[i][j]);
}
}
}
int main(void){
int n, m;
scanf("%d %d", &n, &m);
int **M = matriz_le(n, m);
matriz_print(M, n, m);
return 0;
}
To embed this project on your website, copy the following code and paste it into your website's HTML: