Hacer programa en c++ que declare una matriz estática de 6 filas y 3 columnas, el programa debe cambiar:
a. los valores de la fila 1 por los valores de la fila 6 y los de las filas 6 por lo de la fila 1
b. los valores de la fila 2 por los valores de la fila 5 y los de las filas 5 por los de la fila 2
c. los valores de la fila 3 por los valores de la fila 4 y los de la fila 4 por los de la fila 3
POR FAVOR. NECESITO AYUDA URGENTE CON ESTO.
Respuestas
El programa en c++ para invertir las filas de una matriz, de acuerdo a los criterios dados es:
#include<iostream>
using namespace std;
#define SIN_TIPO string
int main() {
SIN_TIPO arreglo[6][3];
SIN_TIPO arreglomod[6][3];
int i;
int j;
SIN_TIPO n;
for (i=1;i<=6;i++) {
for (j=1;j<=3;j++) {
cout << "Ingrese Numero: ";
cin >> n;
arreglo[i-1][j-1] = n;
}
}
// muestra la matriz ingresada
for (i=1;i<=6;i++) {
cout << "Fila " << i << "= ";
for (j=1;j<=3;j++) {
cout << arreglo[i-1][j-1] << " ";
}
cout << " " << endl;
}
// Modificamos la matriz
for (j=1;j<=3;j++) {
arreglomod[0][j-1] = arreglo[5][j-1];
arreglomod[1][j-1] = arreglo[4][j-1];
arreglomod[2][j-1] = arreglo[3][j-1];
arreglomod[3][j-1] = arreglo[2][j-1];
arreglomod[4][j-1] = arreglo[1][j-1];
arreglomod[5][j-1] = arreglo[0][j-1];
}
cout << "La Imagen modificada es:" << endl;
// muestra la matriz modificada
for (i=1;i<=6;i++) {
cout << "Fila " << i << "= ";
for (j=1;j<=3;j++) {
cout << arreglomod[i-1][j-1] << " ";
}
cout << " " << endl;
}
return 0;
}
El programa hacer uso de dos matrices, la primera con los valores ingresados por teclado y la segunda con las filas intercambiadas.
En los casos en que se recorre la matriz elemento por elemento se utilizan dos estructuras repetitivas anidadas, es decir, una "para" dentro de otro "para". Con el primero recorremos las filas y con el segundo las columnas.
En imagen adjunta puedes observar el algoritmo en caso de mayor comprensión.