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ú

Mensajes - m@o_614

#271
Programación C/C++ / matriz de caracteres
5 Julio 2013, 01:37 AM
Saludos

estoy haciendo una simple matriz a la que le tengo que ingresar caracteres, pero que no me lee los datos y no entiendo por que

nt main()
{
    int i,j,n,m;
    char matriz[MAX][MAX];
    printf("Dame el numero de filas: ");
    scanf("%d",&n);
    printf("Dame el numero de columnas: ");
    scanf("%d",&m);
    for(i=0;i < n;i++)
    {
        for(j=0;j < m;j++)
        {
            printf("Dame el elemento (%d,%d):\n",i,j);
            scanf("%c",&matriz[i][j]);
        }
    }
    return 0;
}


de antemano gracias
#272
si creo que se refiere mas a dos listas una con las escuelas y otra con las ciudades, pero tengo una ultima duda. Por cada ciudad tengo que ponerle 5 escuelas o son solo 5 escuelas y cada una con su ciudad respectiva???
#273
Saludos, tengo que hacer el siguiente programa que dice:

Inicializar dos matrices, la primera tendra 5 escuelas y la segunda sus respectivas ciudades.
   Pedir una escuela a buscar y si se encuentra imprimir la ciudad donde se encuentra, si no se encuentra
   imprimir el letrero respectivo. Pedir una ciudad a buscar y si se encuentra imprimir las escuelas de
   dicha ciudad, si no se encuentra imprimir el letrero respectivo.

El problema es que creo que esta mal planteado y no se como exactamente quiere que haga las matrices, me dice que en una matriz ingrese 5 escuelas pero eso no seria mas bien un vector???? y luego me dice que si le doy una ciudad a buscar me tiene que imprimir las escuelas de dicha ciudad, pero que no eran 5 escuelas cada una con su respectiva ciudad, no entiendo lo que me quiere decir si alguien me pudiera ayudar a entender

de antemano gracias
#274
Programación C/C++ / Re: for y do while
1 Julio 2013, 17:10 PM
hay alguna manera de poder hacer lo mismo con los siguientes dos fors??

for(i=0;i < n[0];i++)
        {
            for(j=0;j < m[0];j++)
            {
                printf("Dame el elemento (%d,%d) de a:\n",i,j);
                scanf("%d",&a[i][j]);
                system("cls");
            }
        }
        for(i=0;i < n[1];i++)
        {
            for(j=0;j < m[1];j++)
            {
                printf("Dame el elemento (%d,%d) de b:\n",i,j);
                scanf("%d",&b[i][j]);
                system("cls");
            }
        }
es que tambien me parece demasiado repetitivo el codigo, ingresarle para una matriz, luego ingresarle para otra.. seria bueno hacerlo con una funcion como dijo eferion???
#275
Yo lo haria de esta manera, donde n es el numero de filas y m es el numero de columnas, al entrar al ciclo la variable mayor se inicializa con (0,0) el valor del primer elemento de la primer fila, una vez que se va recorriendo la fila y se obtiene el valor mayor ( de fila 0) se sale del ciclo for y mayor se vuelve a inicializar con el valor del primer elemento pero ahora de la segunda fila ( fila 1), si te fijas en el primer ciclo se aumenta i para que vaya recorriendo las filas (0,1,2,3..) pero el valor de la columna nunca cambia porque tienes que iniciar desde la columna 0. los valores mayores de cada fila se guardan en un vector

int main()
{
   int i,j,mayor,m[TAM][TAM];

   for(i=0;i < n;i++)
   {
       mayor = m[i][0];
       for(j=0; j< m;j++)
       {
           if(m[i][j] > mayor)
               mayor = m[i][j];
       }
       v[i] = mayor;
   }
#276
Programación C/C++ / for y do while
30 Junio 2013, 23:01 PM
saludos tengo que hacer un programa que me calcule la multiplicacion de 2 matrices de diferentes dimensiones, ya se como hacer la multiplicacion pero tengo una duda en la parte donde le tienes que ingresar las filas y columnas de la matriz a y las filas y columnas de la matriz b


        printf("Dame el numero de filas de a :");
        scanf("%d",&n);
        printf("Dame el numero de columnas de a : ");
        scanf("%d",&m);
        printf("Dame el numero de filas de b :");
        scanf("%d",&n2);
        printf("Dame el numero de columnas de b : ");
        scanf("%d",&m2);


estaba pensando que para no repetir el mismo codigo para a y a para b alomejor podria utilizar un do-while para ingresar los datos:

   
  int n[2],m[2];
  char letra[] = {'a','b'};
  int  i=0;
    do
    {
        printf("Dame el numero de filas de %c :",letra[i]);
        scanf("%d",&n[i]);
        printf("Dame el numero de columnas de %c : ",letra[i]);
        scanf("%d",&m[i]);
        system("cls");
        i++;
    }while(i < 2);


cual de las dos opciones creen que es la mejor??
gracias
#277
muchas gracias, ya le hice los cambios que me dijeron y funciona perfecto  :D
#278
Muchas gracias

ya pude averiguar cual era el fallo del codigo



int tri_sup =1;
for(i=0;i < n-1;i++)
    {
        for(j=n-1;(j > 0+i)&&(tri_sup);j--)
        {
            if(matriz[j][i] == 0)
                tri_sup = 1;
            else
                tri_sup = 0;
        }
    }
  el problema de que no me marcaba bien si era triangular superior o no era porque aunque el ciclo ya me habia indicado que no era triangular superior por que algun miembro (matriz[j]) que esta debajo de la diagonal no era 0, el ciclo no se terminaba seguia y seguia, la manera que encontre de solucionarlo ps fue poniendo una bandera en la condicion de que terminara el ciclo cuando tri_sup == 0

engelx n significaba el tamanio de la matriz

#279
Saludos tengo el siguiente codigo que me tiene que decir si una matriz es triangular superior ( o sea que todos los elementos por debajo de la diagonal sean 0)

// Matriz Triangular Superior
int tri_sup = 1;
    for(i=0;i < n-1;i++)
    {
        for(j=n-1;j > 0+i;j--)
        {
            if(matriz[j][i] == 0)
                tri_sup = 1;
            else
                tri_sup = 0;
        }
    }/*
pero el problema es que cuando le ingreso una matriz que no es Triangular Sup, me aparece que si lo es. Y no tengo idea de donde podria estar el error

de antemano gracias
#280
Programación C/C++ / ahorrar lineas de codigo
25 Junio 2013, 19:08 PM
Saludos tengo el siguiente codigo que me hace un simple ordenamiento burbuja de un vector:

int main()
{
   int v[MAX],i,j,n,aux,;
   printf("Dame el numero de elementos del vector\n");
   scanf("%d",&n);
   for(i=0;i < n;i++)
   {
       printf("Dame el elemento numero %d:\n",i+1);
       scanf("%d",&v[i]);
       system("cls");
   }
   for(i=1;i < n;i++)
   {
       for(j=0;j < n-i;j++)
       {
           if(v[j] > v[j+1])
           {
               aux = v[j+1];
               v[j+1] = v[j];
               v[j] = aux;
           }
       }
   }
return 0;
}
pero tengo la duda de si en vez de usar dos fors podria meter el metodo de ordenamiento en el for que me pide que ingrese los elementos del vector para ahorrar lineas de codigo

gracias