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 |
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);
}
Comentarios
Publicar un comentario