Matrices

download Matrices

of 4

description

LP

Transcript of Matrices

#include#include#include#include

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; } }}