mi programa me debe dar la suma de los elementos que se encuentran encima de la diagonal principal y lo suma, pero suma uno de mas. una matriz de ejemplo
1 2 3
4 5 6
7 8 9
me da la suma del 1,2,3,4 y "5",y no quiero que me sume en el 5 por que esta en la diagonal, no hallo una forma de ponerle restricción
creo que mi error se encuentra en la tercera función imprimir matriz, por que las anteriores parecen funcionar correctamente
1 2 3
4 5 6
7 8 9
me da la suma del 1,2,3,4 y "5",y no quiero que me sume en el 5 por que esta en la diagonal, no hallo una forma de ponerle restricción
Código (c) [Seleccionar]
#include<stdio.h>
#include<windows.h>
void leermatriz();
void imprimirmatriz();
int main()
{
system("Color 4b");
printf("\nPrograma que imprima los elementos encima de la diagonal principal");
leermatriz();
imprimirmatriz();
}
void leermatriz()
{
int matriz[50][50];
int fila, columna,i,j;
printf("\nLectura de matriz");
do{printf("\nDame la cantidad de fila=>");
scanf("%d",&fila);
printf("Dame la cantidad de columnas=>");
scanf("%d",&columna);
if(fila!=columna)
{
printf("\nNumero de filas debe ser igual al de columnas");
}
}while(fila!=columna);
for(i=0;i<fila;i++){
for(j=0;j<columna;j++){
printf("\nDame el valor de la casilla[%d][%d]",i,j);
scanf("%d",&matriz[i][j]);
}
}
system("pause");
}
void imprimirmatriz()
{
int matriz[50][50];
int fila, columna,i,j;
printf("\nEsquinas de la matriz");
for(i=0;i<fila-1;i++){
printf("\n");
for(j=0;j<columna-1;j++){
if((i==0||i<fila-1)&&(j==0||j<columna-1)&&(i+j!=fila-1)){
system("color 1a");
printf("\t%d",matriz[i][j]);
}
}
}
system("pause");
}
creo que mi error se encuentra en la tercera función imprimir matriz, por que las anteriores parecen funcionar correctamente