elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [Consulta] Matriz triangular inferior y superior en C++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Consulta] Matriz triangular inferior y superior en C++  (Leído 8,383 veces)
romybe

Desconectado Desconectado

Mensajes: 7



Ver Perfil
[Consulta] Matriz triangular inferior y superior en C++
« en: 20 Julio 2015, 20:21 pm »

Hola gente! Estoy haciendo un ejercicio que me pide determinar si una matriz cuadrada es triangular inferior, superior o ninguna de las dos. Realicé el siguiente código en C++:
Código:
#include <stdio.h>
#include <iostream>

int leer_matriz(int M[][100],int &cf);
int definir_triangular(int M[][100],int cf);
int imprimir(int M[][100],int cf);

main ()
{
     int M[100][100];
     int cant_filas;
     leer_matriz(M,cant_filas);
     definir_triangular(M,cant_filas);
     imprimir(M,cant_filas);
     printf ("\n");
     system ("pause");
}

int leer_matriz(int M[][100],int &cf)
{
    do
    {
                    printf ("Ingrese la cantidad de filas de la matriz: ");
                    scanf ("%d", &cf);
                    printf ("\n");
    } while (cf>100);
    for (int i=0;i<cf;i++)
    {
        for (int j=0;j<cf;j++)
        {
            printf ("Ingrese el elemento %d %d de la matriz: ", i, j);
            scanf ("%d", &M[i][j]);
            printf ("\n");
        }
    }
}

int definir_triangular(int M[][100],int cf)
{
    int trian_inf=0, trian_sup=0;
    int i=1, j=0;
    while (i<cf)
    {
          while ((j<i)||(trian_inf=0))
          {
                if (M[i][j]==0)
                   j++;
                else
                    trian_inf=1;
          }
          i++;
    }
    int f=0, c=1;
    while (f<cf)
    {
          while ((c<cf)||(trian_sup=0))
          {
                if (M[f][c]==0)
                   c++;
                else
                    trian_sup=1;
          }
          f++;
    }
    if (trian_inf==0)
       printf ("La matriz es triangular inferior.\n\n");
    if (trian_sup==0)
       printf ("La matriz es triangular superior.\n\n");
    if ((trian_inf==1)&&(trian_sup==1))
       printf ("La matriz no es triangular inferior ni superior.\n\n");
}

int imprimir(int M[][100],int cf)
{
    for (int i=0;i<cf;i++)
    {
        for (int j=0;j<cf;j++)
        {
            printf ("  %d  ", M[i][j]);
        }
        printf ("\n");
    }
}
El problema es que no me está haciendo la parte de verificar si es triangular pero no veo el error. Espero que me puedan ayudar.
Muchas gracias!


« Última modificación: 20 Julio 2015, 20:28 pm por romybe » En línea

romybe

Desconectado Desconectado

Mensajes: 7



Ver Perfil
Re: [Consulta] Matriz triangular inferior y superior en C++
« Respuesta #1 en: 20 Julio 2015, 21:21 pm »

Ya lo solucioné por si a alguno le sirve dejo el código.

Código
  1. #include <stdio.h>
  2. #include <iostream>
  3.  
  4. int leer_matriz(int M[][100],int &cf);
  5. int definir_triangular(int M[][100],int cf);
  6. int imprimir(int M[][100],int cf);
  7.  
  8. main ()
  9. {
  10.     int M[100][100];
  11.     int cant_filas;
  12.  
  13.     leer_matriz(M,cant_filas);
  14.     definir_triangular(M,cant_filas);
  15.     imprimir(M,cant_filas);
  16.  
  17.     printf ("\n");
  18.     system ("pause");
  19. }
  20.  
  21. int leer_matriz(int M[][100],int &cf)
  22. {
  23.    do
  24.    {
  25.                    printf ("Ingrese la cantidad de filas de la matriz: ");
  26.                    scanf ("%d", &cf);
  27.                    printf ("\n");
  28.    } while (cf>100);
  29.  
  30.    for (int i=0;i<cf;i++)
  31.    {
  32.        for (int j=0;j<cf;j++)
  33.        {
  34.            printf ("Ingrese el elemento %d %d de la matriz: ", i, j);
  35.            scanf ("%d", &M[i][j]);
  36.            printf ("\n");
  37.        }
  38.    }
  39. }
  40.  
  41. int definir_triangular(int M[][100],int cf)
  42. {
  43.    int trian_inf=0, trian_sup=0;
  44.    int i=1;
  45.  
  46.    while (i<cf)
  47.    {
  48.          int j=0;
  49.  
  50.          do
  51.          {
  52.                if (M[i][j]==0)
  53.                   j++;
  54.                else
  55.                    trian_inf=1;
  56.          } while ((j<i)&&(trian_inf==0));
  57.  
  58.          i++;
  59.    }
  60.  
  61.    int f=0, c=1;
  62.  
  63.    while (f<cf)
  64.    {
  65.  
  66.          do
  67.          {
  68.                if (M[f][c]==0)
  69.                   c++;
  70.                else
  71.                    trian_sup=1;
  72.          } while ((c<cf)&&(trian_sup==0));
  73.  
  74.          f++;
  75.    }
  76.  
  77.    if (trian_inf==0)
  78.       printf ("La matriz es triangular inferior.\n\n");
  79.  
  80.    if (trian_sup==0)
  81.       printf ("La matriz es triangular superior.\n\n");
  82.  
  83.    if ((trian_inf==1)&&(trian_sup==1))
  84.       printf ("La matriz no es triangular inferior ni superior.\n\n");
  85. }
  86.  
  87. int imprimir(int M[][100],int cf)
  88. {
  89.    for (int i=0;i<cf;i++)
  90.    {
  91.        for (int j=0;j<cf;j++)
  92.        {
  93.            printf ("  %d  ", M[i][j]);
  94.        }
  95.  
  96.        printf ("\n");
  97.    }
  98. }


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Matriz Triangular Superior
Programación C/C++
m@o_614 9 23,945 Último mensaje 30 Junio 2013, 19:28 pm
por m@o_614
Matriz triangulada inferior
Programación C/C++
Snarky 3 2,008 Último mensaje 10 Octubre 2017, 20:06 pm
por ivancea96
matriz triangular superior
Programación C/C++
openclasroom 1 2,231 Último mensaje 24 Octubre 2017, 16:07 pm
por engel lex
[ALGEBRA DE MATRICES] Matriz triangular superior desdendiente en C. « 1 2 »
Programación C/C++
dijsktra 13 4,176 Último mensaje 3 Mayo 2020, 20:21 pm
por fary
[ALGEBRA DE MATRICES] Matriz triangular INFERIOR DESCENDIENTE en C.
Programación C/C++
dijsktra 7 3,656 Último mensaje 19 Mayo 2020, 21:18 pm
por dijsktra
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines