Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - romybe

#1
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++:

#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!
#2
Bases de Datos / Ayuda con diseño de BD
16 Mayo 2015, 23:50 PM
Hola! Estoy diseñando las tablas para una base de datos. Tengo una tabla para ARTÍCULOS (que es la principal), donde éstos se identifican por un número provisorio o por el número de matricula.

El asunto es que a veces un articulo tiene número de identificación provisorio y no de matricula o al revés. Es decir, tiene matricula pero no numero provisorio. Entonces, cómo conformo la clave primaria para la tabla de modo que pueda buscar el articulo por numero provisorio o matricula? Ya que siempre uno de los campos estará vacío.

Espero que me entiendan lo que expuse y me puedan ayudar.
#3
Hola! Estoy teniendo este mensaje invalid types `int[int]' for array subscript con las líneas 66, 68, 70 y 72 cuando intento compilar el código. Honestamente no sé dónde pueda estar el problema. Espero que me puedan ayudar.

P.D.: estoy usando DEV C++ version 4.9.9.2


Código (cpp) [Seleccionar]

#include <stdio.h>
#include <iostream>
#include <string.h>

typedef struct {
        char dia [9];
        int hora_inicio;
        int minutos_inicio;
        int hora_finalizacion;
        int minutos_finalizacion;
        } horario_atencion;
       
typedef struct {
        char nombre_medico [20];
        char apellido_medico [20];
        char dni_medico [8];
        char especialidad [20];
        char domicilio_medico [30];
        char nro_consultorio [2];
        char telefono_medico [15];
        horario_atencion horario;
        } medico;

void alta_medico (medico m[], int &lim);

void alta_medico (medico m[], int &lim)
{
     int cant_dias;
     
     while (lim>50)
     {
           printf ("Cuantos medicos desea ingresar?");
           scanf ("%d", &lim);
     }
     
     for (int i=0;i<lim;i++)
     {
         printf ("Ingrese el nombre del medico: ");
         gets (m[i].nombre_medico);
         fflush (stdin);
         printf ("Ingrese el apellido del medico: ");
         gets (m[i].apellido_medico);
         fflush (stdin);
         printf ("Ingrese el DNI del medico: ");
         gets (m[i].dni_medico);
         printf ("Ingrese la especialidad del medico: ");
         gets (m[i].especialidad);
         fflush (stdin);
         printf ("Ingrese el domicilio del medico: ");
         scanf ("%[^\n]", m[i].domicilio_medico);
         fflush (stdin);
         printf ("Ingrese el numero de consultorio del medico: ");
         gets (m[i].nro_consultorio);
         fflush (stdin);
         printf ("Ingrese el telefono del medico: ");
         gets (m[i].telefono_medico);
         fflush (stdin);
         printf (" Cuantos dias a la semana trabajara el medico: ");
         scanf ("%d", &cant_dias);
         for (int j=0;j<cant_dias;j++)
         {
             printf ("Ingrese el dia de la semana: ");
             scanf ("%s", &m[i].horario.dia[j]);
             fflush (stdin);
             printf ("Ingrese la hora de comienzo de la consulta para el dia %s: ", m[i].horario.dia[j]);
             scanf ("%d", &m[i].horario.hora_inicio[j]);
             printf ("Ingrese los minutos de comienzo de la consulta para el dia %s: ", m[i].horario.dia[j]);
             scanf ("%d", &m[i].horario.minutos_inicio[j]);
             printf ("Ingrese la hora de finalizacion de la consulta para el dia %s: ", m[i].horario.dia[j]);
             scanf ("%d", &m[i].horario.hora_finalizacion[j]);
             printf ("Ingrese los minutos de finalizacion de la consulta para el dia %s: ", m[i].horario.dia[j]);
             scanf ("%d", &m[i].horario.minutos_finalizacion[j]);
         }
     }
}
#4
Hola!

Tengo que hacer una aplicación tipo álbum de fotos, donde el usuario ingrese la cantidad de segundos de intervalo y al clickear en el botón "comenzar" dichas imágenes comiencen a pasarse en el picturebox y cuando se llegue a la última imagen se vuelva a la primera.

Como dije debo utilizar un timer, pero estoy confusa en cómo tratar las imágenes... Había pensado en un arreglo pero nunca hice uno con imágenes y no sé cómo.
Si me pueden tirar ideas o ayudar con algo!
Muchas gracias!
#5
Hola!
Tengo que realizar un ejercicio en C++ que es el siguiente:

Escriba un planteo recursivo para dibujar una media pirámide de dígitos como se muestra en la siguiente figura. La cantidad de renglones depende de un n ingresado por el usuario (en el caso del ejemplo es 9):

1
21
321
4321
54321
654321
7654321
87654321
987654321


Luego debo modificar el código para que me quede la siguiente media pirámide:

1
12
123
1234
12345
123456
1234567
12345678
123456789


Ojalá me puedan ayudar porque no me sale y me estoy enloqueciendo. Sé que es un ejercicio sencillo pero no se aplicar la recursividad.

P.D.: Estamos usando código lo más sencillo posible :)