Nombre: MAYOR DE DOS MATRICES CON PUNTEROS
Descripción:
MAYOR DE DOS MATRICES CON PUNTEROS
URL: http://www.mygnet.net/codigos/cplusplus/punteros/mayor_de_dos_matrices_con_punteros.1698
Código Fuente:
#include<stdio.h>
#include<stdlib.h>
void main ()
{
int i,j,f,c,**a,**b,**d;
printf("**PRIMERA MATRIZ**nn");
printf("INTRODUCE EL NUMERO DE FILASn");
scanf("%i",&f);
printf("INTRODUCE EL NUMERO DE COLUMNASn");
scanf("%i",&c);
a=((int**)malloc(f*sizeof(int*)));
if(a==NULL)
{
printf("ERROR:MEMORIA INSUFICIENTE");
exit(-1);
}
for(i=0;i<f;i++)
*(a+i)=((int*)malloc(c*sizeof(int)));
if(*(a+i)==NULL)
{
printf("ERROR:MEMORIA INSUFICIENTE");
exit(-1);
}
for(i=0;i<f;i++)
{
for(j=0;j<c;j++)
{
scanf("%i",*(a+i)+j);
}
}
for(i=0;i<f;i++)
{
printf("n");
for(j=0;j<c;j++)
{
printf("%i",*(*(a+i)+j));
}
}
printf("nn**SEGUNDA MATRIZ**nn");
printf("INTRODUCE EL NUMERO DE FILASn");
scanf("%i",&f);
printf("INTRODUCE EL NUMERO DE COLUMNASn");
scanf("%i",&c);
b=((int**)malloc(f*sizeof(int*)));
if(b==NULL)
{
printf("ERROR:MEMORIA INSUFICIENTE");
exit(-1);
}
for(i=0;i<f;i++)
*(b+i)=((int*)malloc(c*sizeof(int)));
if(*(b+i)==NULL)
{
printf("ERROR:MEMORIA INSUFICIENTE");
exit(-1);
}
for(i=0;i<f;i++)
{
for(j=0;j<c;j++)
{
scanf("%i",*(b+i)+j);
}
}
for(i=0;i<f;i++)
{
printf("n");
for(j=0;j<c;j++)
printf("%i",*(*(b+i)+j));
}
printf("nn**MATRIZ RESULTANTE**");
d=((int**)malloc(f*sizeof(int*)));
if(d==NULL)
{
printf("ERROR:MEMORIA INSUFICIENTE");
exit(-1);
}
for(i=0;i<f;i++)
*(d+i)=((int*)malloc(c*sizeof(int)));
if(*(d+i)==NULL)
{
printf("ERROR:MEMORIA INSUFICIENTE");
exit(-1);
}
for(i=0;i<f;i++)
{
printf("n");
for(j=0;j<c;j++)
{
if(*(*(a+i)+j)>*(*(b+i)+j))
{
*(*(d+i)+j)=*(*(a+i)+j);
}
else
{
if (*(*(a+i)+j)<*(*(b+i)+j))
{
*(*(d+i)+j)=*(*(b+i)+j);
}
else
{
*(*(d+i)+j)=*(*(a+i)+j);
}
}
}
}
for(i=0;i<f;i++)
{
printf("n");
for(j=0;j<c;j++)
printf("%i",*(*(d+i)+j));
}
}