You are on page 1of 4

#include<stdio.

h>
#include<string.h>
#include<iostream>
#include<cstdlib>

void llenar (int M[20][20], int f, int c);


void mostrar(int M[20][20], int f, int c);
int menor (int M[20][20], int f, int c);
int maximo (int M[20][20], int f, int c);

/* run this program using the console pauser or add your own getch,
system("pause") or input loop */

int main() {
int A [20] [20];
int B [20] [20];
int fa, ca, fb, cb;
printf ("Insert filas de A: "); scanf("%d",&fa);
printf ("Insert columnas de A: "); scanf("%d",&ca);
printf ("Insert filas de B: "); scanf("%d",&fb);
printf ("Insert columnas de B: "); scanf("%d",&cb);
void intercambiar (int A[20][20], int fa, int ca, int B[20][20], int fb, int
cb);

//lectura de matrices
printf ("\nINSERTANDO DATOS EN MATRIS A: \n");
llenar (A, fa, ca);
printf ("\nINSERTANDO DATOS EN MATRIS B: \n");
llenar (B, fb, cb);
printf ("\nMATRICES ORIGINALMENTE INSERTADAS: \n");
mostrar (A, fa, ca);

printf ("\n");
mostrar (B, fb, cb);
printf ("\n");
//intercambiando elementos
intercambiar (A, fa, ca, B, fb, cb);
printf ("\nMATRICES DESPUES DEL INTERCAMBIO:\n");
mostrar (A, fa, ca);
printf ("\n");
mostrar (B, fb, cb);
system("PAUSE");
return EXIT_SUCCESS;

void llenar (int M[20][20], int f, int c){


for (int i = 0 ; i < f ; i++){
for (int j = 0 ; j < c ; j++){
printf ("Inserte pos[%d][%d]: ",i,j);
scanf("%d",&M[i][j]);
}
}
}

void mostrar (int M[20][20], int f, int c){


for (int i = 0 ; i < f ; i++) {
for (int j = 0 ; j < c ; j++) {
printf ("[%d]",M[i][j]);
}
printf("\n");
}

int menor (int M[20][20], int f, int c){


int men = M [0] [0];
for (int i = 0 ; i < f ; i++) {
for (int j = 0 ; j < c ; j++) {
if (M [i] [j] < men)
men = M [i] [j];
}
}
return (men);
}

int maximo (int M[20][20], int f, int c){


int max = M [0] [0];
for (int i = 0 ; i < f ; i++) {
for (int j = 0 ; j < c ; j++) {
if (M [i] [j] > max)
max = M [i] [j];
}
}
return (max);
}

void intercambiar (int A[20][20], int fa, int ca, int B[20][20], int fb, int cb)
{
int min_a = menor (A, fa, ca);
int max_b = maximo (B, fb, cb);
//para cambiar los minimos de A con los maximos de B
for (int i = 0 ; i < fa ; i++) {

for (int j = 0 ; j < ca ; j++) {


if (A[i][j] == min_a)
A[i][j]=max_b;
}
}
//para intercambiar los maximos de con los minimos de A
for (int i = 0 ; i < fb ; i++) {
for (int j = 0 ; j < cb ; j++) {
if (B[i][j] == max_b)
B[i][j]=min_a;
}
}
}

You might also like