Programa intercambio de matriz fila-columna

Este programa: A partir de una matriz de nxn, diseña una función/procedimiento que intercambie la  i-ésima fila por la i-ésima columna. Considerando lo siguiente:

·         Función o procedimiento que llene la matriz.

·         Función o procedimiento que intercambie la fila por la columna indicada.

·         Función o procedimiento que visualice la información, se deberá mostrar la matriz antes y después de intercambiar los elementos.

Por ejemplo, si es una matriz de 4x4 y se desea cambiar la fila 3, entonces se intercambia por el mismo índice de la columna, quedando:

Matriz original

 

Matriz con elementos intercambiados

4

5

-22

100

 

4

5

0

100

6

0

33

-2

 

6

0

101

-2

0

101

7

-5

 

-22

33

7

76

44

333

76

21

 

44

333

-5

21

 

 

 #include<stdio.h>


void Tam(int& M){

printf("Dame el tamanio de la matriz");

scanf("%d", &M);

}



void Leer(int& M, int Mat[100][100]){

int I=0, J=0;

for(I=0; I<M; I++){

for(J=0; J<M; J++){

printf("Ingrese el valor [%d][%d] de la matriz\n", I + 1, J + 1);

scanf("%d", &Mat[I][J]);

}

}

}



void Intercambio(int Mat[100][100], int& size){

int aux=0, i=0, N;

printf("Que fila quieres intercambiar?\n");

scanf("%d", &N);

for(i=0; i<size; i++){

aux=Mat[N][i];

Mat[N][i]=Mat[i][N];

Mat[i][N]=aux;

}

}




void Escribir(int& Ren, int Mat[100][100]){

int I, J;

for(I=0; I<Ren; I++){

for(J=0; J<Ren; J++){

printf(" %d      ",Mat[I][J]);

}

printf("\n");

}

}





int main(){

int i=0, j=0, tamr, mat[100][100]={0}; 

printf("\tEste programa intercambia la  i-esima fila por la i-esima columna segun usted quiera \n");

Tam( tamr);

Leer(tamr, mat);

printf("Tu matriz es: \n");

Escribir(tamr, mat);

Intercambio(mat, tamr);

printf("Tu matriz intercambiada es: \n");

Escribir(tamr, mat);

}


 

 Los Datos Personales Clic - Imagen gratis en Pixabay

 

 

 

 


Comentarios

Contenido destacado

Práctica Osmosis Huevo

PRÁCTICA OSCILOSCOPIO CON PROTEUS

Aplicación de Vectores a la Bioingeniería Médica