Skip to content

Instantly share code, notes, and snippets.

@iojoaomarcos
Last active November 3, 2017 21:17
Show Gist options
  • Save iojoaomarcos/1660c36ecf973412c9bf2be30478c63f to your computer and use it in GitHub Desktop.
Save iojoaomarcos/1660c36ecf973412c9bf2be30478c63f to your computer and use it in GitHub Desktop.
Programa que cria uma matriz de tamanho dinâmico e exibe seu conteúdo na tela.
/*
Escrito por iojoaomarcos :v
v. 1.2
Programa que cria uma matriz de tamanho dinâmico
e exibe seu conteúdo na tela.
*/
#include <stdio.h>
#include <stdlib.h>
int main() {
int **matriz; /*Matriz que será alocada dinamicamente
(declarada como ponteiro de ponteiro)*/
int m, n; //Dimensões da Matriz
int i, j; //Contadores
printf("Digite as dimensoes da Matriz: ");
scanf("%i %i", &m, &n);
//Abaixo, a matriz é inicialmente alocada como um vetor
matriz = (int*) malloc(m * sizeof(int*));
for(i = 0;i < m;i++){
/*Nesta etapa é alocado outro vetor dentro da posição i,
fazendo desta maneira colunas*/
matriz[i] = (int*) malloc (n*sizeof (int*));
for(j=0; j < n; j++){
printf("Digite o elemento da posicao %i x %i: ",i+1,j+1);
scanf("%i",&matriz[i][j]);
}
}
//Exibindo na tela...
printf("\n\n\nOs numeros digitados foram:\n");
for(i = 0; i < m; i++){
for(j = 0; j < n; j++){
printf("\nO elemento %i x %i e: %i", i+1, j+1, matriz[i][j]);
}
}
free(matriz); //Libera a memoria
matriz = NULL; //"Limpa" a memoria
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment