Buenas, antes de todo soy nuevo en el foro mi nombre es Cesar Enrique soy universitario y bueno ando llevando una curso de programación, estamos aún en el uso de ciclos for y ahora había que presentar un programa que luego de ingresar los datos de la matriz imprima y sume las diagonales de una matriz cuadrada y sus filas, Esta matriz tiene que tener un orden mayor a 3, por lo que el usuario debe poder introducir el orden (m por m, m mayor que 3).
El problema está en la parte de comentarios, antes del primer for...Cuando compilo el programa sin esta parte todo va bien, ojo que m=3, pero cuando activo el código borro el m=3 claro está porque le pido al usuario que ingrese m pero al hacer esto y luego de ingresar todos los valores de la matriz al momento de imprimir lo único que me hace es imprimir los últimos 3 datos ingresados. cuestión que no entiendo que pasa y necesito ayuda, quizás este ignorando algo tan elemental pero en este momento no se me ocurre nada, agradezco de antemano la ayuda y las intenciones
PD: Uso de compilador Dev c++ 5.6.2
El problema está en la parte de comentarios, antes del primer for...Cuando compilo el programa sin esta parte todo va bien, ojo que m=3, pero cuando activo el código borro el m=3 claro está porque le pido al usuario que ingrese m pero al hacer esto y luego de ingresar todos los valores de la matriz al momento de imprimir lo único que me hace es imprimir los últimos 3 datos ingresados. cuestión que no entiendo que pasa y necesito ayuda, quizás este ignorando algo tan elemental pero en este momento no se me ocurre nada, agradezco de antemano la ayuda y las intenciones
PD: Uso de compilador Dev c++ 5.6.2
Código [Seleccionar]
#include <iostream>
#include <conio.h>
#include <cstdlib>
using namespace std;
int main(int argc, char** argv) {
int m,i,j,Tabla[m][m];
int Sumfil=0,SumaD=0,SumaDinv=0;
cout<<"\t OBTENGA LA SUMA DE FILAS Y DIAGIONALES DE SU MATRIZ"<<endl;
cout<<endl;
///Eh aquí el problema, cuando activo está parte del codigo borro m=3 y solo declaro int m
/*
cout<<"Ingrese el orden de su matriz Cuadrada:";
cin>>m;
if(m<=2){
cout<<"Numero no Valido";}
else{}
Tabla[m][m];
*/
for(i=1;i<=m;i++){
for(j=1;j<=m;j++){
cout<<"Ingresa Valor["<<i<<"]["<<j<<"]:";
cin>>Tabla[i][j];
}
}
//For para mostrar la tabla
cout<<endl;
cout<<"SU MATRIZ ES:"<<endl<<endl;
for( i=1;i<=m;i++){
for(j=1;j<=m;j++){
cout<<Tabla[i][j]<<"\t";
}
cout<<endl;
}
//Suma de filas
for(i=1;i<=m;i++)
{
for(j=1;j<=m;j++){
Sumfil+=Tabla[i][j];
}
cout<<"Suma de la fila("<<i<<"): "<<Sumfil<<endl;
Sumfil=0;
}
//Suma de las diagonales
for(i=1;i<=m;i++)
{
for( j=1;j<=m;j++){
if(i=j){
SumaD+=Tabla[i][j];
}
}
}
cout<<"LA SUMA DE LA DIAGONAL ES : "<<SumaD<<endl;
//Suma de la diagonal inversa
for(i=1;i<=m;i++)
{
for(j=1;j<=m;j++){
if(i!=m+1-j ){
Tabla[i][j];
}
else {SumaDinv+=Tabla[i][j];
}
}
}
cout<<"LA SUMA DE LA DIAGONAL INVERTIDA ES: "<<SumaDinv<<endl;
return 0;
}