#
Código:
Las dudas son las siguientes: como es la "movida" en los arreglos, ciertamente tengo mucha confusión. El algoritmo en si es solo seleccionar un elemento Aij de la matriz y reducirlo a una forma en que pueda ser introducido a una base, es decir, el elemento seleccionada sea 1 y los demas de las misma columna sean cero. Esto lo hago dividiendo toda la fila entre el pivote y despues ir haciendo el codigo que tengo en entrar_salir, pero en si no me ejecuta nada de la resta si elijo no se, digamos el A21 no ejecuta nada para j>1, para las demas columnas. include <iostream> using namespace std; typedef double** matriz; matriz crear_matriz(int m, int n) { matriz M=0; M = new double* [m]; for (int i = 0; i < m; i++) { M[i]=new double [n]; } return M; } matriz impr_matriz(int m, int n, matriz M) { for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { if(j==n-1) { cout<<M[i][j]<<" "<<endl; } else { cout<<M[i][j]<<" "; } } } } matriz entrar_salir(matriz A, int m, int n) { int f; int g; char s; cout<<"¿Cuál es el pivote? (m,n): "; cin>>f>>s>>g; cout<<f<<s<<g<<endl; double y_st=A[f-1][g-1]; for (int k = 0; k < n; k++) { A[f-1][k]/=y_st; } for (int i= 0; i < m; i++) { if(i!=(f-1)) for (int j = 0; j < n; j++) { A[i][j]=A[i][j]-(A[i][g-1]*A[f-1][j]); } else { i++; } } return A; } matriz rellena_matriz(int m, int n, matriz M) { for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { cout<<"Ingresa el elemento a_"<<i+1<<j+1<<" = "; cin>>M[i][j]; } } return M; } int main() { char l=0; do { matriz A=NULL; cout<<"Algoritmo para entrar y salir de la base"<<endl; cout<<"Ingresa la matriz en su form canónica (o en la forma estándar)"<<endl; cout<<"Introduce el tamaño de la matriz A en la froma m,n: "; int n; int m; char s; cin>>m>>s>>n; cout<<"Ingresa los datos de la matriz A: "<<endl; A=crear_matriz(m,n); rellena_matriz(m,n, A); cout<<endl; impr_matriz(m,n,A); cout<<endl; entrar_salir(A, m, n); impr_matriz(m, n, A); cout<<"Wanna do it again? Press Y/y if you want to, or another key to quit "; cin>>l; } while (l=='Y'|| l=='y'); }