// Realizar un programa que copie el contenido de una mtriz dinámica a otra
#include <stdio.h>
#include <stdlib.h>
void matriz0(int **mat, int, int);
void matriz1(int **mat1, int, int);
int main(){
int filas = 0, cols = 0;
int **mat = 0, **mat1 = 0;
matriz0(mat, filas, cols);
matriz1(mat1, filas, cols);
return 0;
}
void matriz0(int **mat, int filas, int cols){
int i, j;
printf("Cantidad de filas para la matriz 1: ");
scanf("%i", &filas);
printf("Cantidad de columnas para la matriz 1: ");
scanf("%i", &cols);
mat = (int **) malloc(filas*sizeof(int*));
if(mat == NULL){
printf("No se ha podido reservar espacio");
exit(0);
}
for(i = 0; i < filas; i++){
*(mat+i) = (int*) malloc(cols*sizeof(int*));
if(*(mat+i) == NULL){
printf("No se ha podido reservar memoria \n");
exit(0);
}
}
printf("Introduzca los valores para la matriz 1:\n\n");
for(i = 0; i < filas; i++){
for(j = 0; j < cols; j++){
printf("fila %i columna %i ", i, j);
scanf("%i", &mat[i][j]);
}
}
printf("\nMatriz:\n");
for(i = 0; i < filas; i++){
for(j = 0; j < cols; j++){
printf("%i ", mat[i][j]);
}
printf("\n");
}
printf("\n");
}
void matriz1(int **mat, int filas, int cols){
int i, j;
printf("Cantidad de filas para la matriz 2: ");
scanf("%i", &filas);
printf("Cantidad de columnas para la matriz 2: ");
scanf("%i", &cols);
mat = (int **) malloc(filas*sizeof(int*));
if(mat == NULL){
printf("No se ha podido reservar espacio");
exit(0);
}
for(i = 0; i < filas; i++){
*(mat+i) = (int*)malloc(cols*sizeof(int*));
if(*(mat+i) == NULL){
printf("No se ha podido reservar memoria \n");
exit(0);
}
}
printf("Introduzca los valores para la matriz 2:\n\n");
for(i = 0; i < filas; i++){
for(j = 0; j < cols; j++){
printf("fila %i columna %i ", i, j);
scanf("%i", &mat[i][j]);
}
}
printf("\nMatriz:\n");
for(i = 0; i < filas; i++){
for(j = 0; j < cols; j++){
printf("%i ", mat[i][j]);
}
printf("\n");
}
}