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 - binaryum

#1
Hola que tal .. mi prof me va a evaluar las practicas desde "la línea de comandos" , la cuestión es que el va abrir la ventanita, va a abrir mi programa y a introducir un comando el cual mi programa tiene que leer y hacer lo que tenga que hacer.

Mi pregunta es, como ejecuto aplicaciones Java desde la linea de comandos ? .. y en ese caso como haría para que el programa lea el comando que introduzco (Una vez que esta ejecutado).

Gracias por su respuesta ;)
#2
Espero que la vida los este tratando bien .. Me pusieron un proyecto que trata de simular un menu de un celular con al menos 3 niveles de profundidad .. (En java con interfaz grafica) Mi duda es que no se como funciona un menu!! .. he estado googleando pero no encuentro nada ! y tengo que hacerlo con alguna de estas estructura de datos:
pilas, colas o listas.

Con niveles de profundidad me refiero a que cada vez que accedes a un item del menu eso es 1 nivel Ejemplo : Estas en el menu principal --> configuracion  (nivel 1) --> pantalla (nivel 2) --> brillo (nivel 3)
Alguna idea ? o algun documento que explique como estan estructurados los menus ?

Gracias por su ayuda  ;-)
#3
Tienes razón. Y entonces me ayudarías con alguna condición para comprobar si el juego esta hecho ? por favor , no se me ocurre más nada
#4
Hola que tal , pues mi duda es esa tengo que hacer un "puzzle" de numeros para que el usuario los ordene en forma creciente y el espacio en blanco quede en la esquina inferior derecha ...

Esto es lo que llevo hasta ahora .

Esta hecho en Dev c++ , pero es C .



#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#define  TAM 12
void ordenado (int,int,int M[TAM][TAM]);
void desordenar (int,int,int M[TAM][TAM]);
void jugar (int,int,int M[TAM][TAM]);
main ()
{
 int u=0;
 int i,x,a=1,menu;
 int M[TAM][TAM];
 int columnas,filas;

 do
 {
 printf ("Introduzca las filas de la matriz:  ");
 scanf  ("%d",&filas);
 if(filas<3 || filas>12)
       {
           printf("\nError. El orden debe estar entre 3 y 12");
           getch();
           system("cls");
       }
 }
 while (filas<3 || filas>12);
 
 do
 {
 printf ("\nIntroduzca las columnas de la matriz: ");
 scanf  ("%d",&columnas);
   if(columnas<3 || columnas>12)
   {
           printf("\nError. El orden debe estar entre 3 y 12");
           getch();
           system("cls");
       }
 }
 while (columnas<3 || columnas >12);
 
 
ordenado (filas,columnas,M);
   printf ("\n\n");
   desordenar (filas,columnas,M);
   jugar (filas,columnas,M);


getch ();
}
//-------------------------------------------------------------------------------
void ordenado (int filas,int columnas, int M[TAM][TAM])
{
  int i,x,a=1;;
 for (i=0;i<filas;i++)
   {
 for (x=0;x<columnas;x++)  
{  
               if ((i==filas-1) && (x==columnas-1))
{
 M[i][x]=0;      
       }
       else
{
                 M[i][x]=a;
 a++;
               }  
           }
}

  for (i=0;i<filas;i++)
  {
   
    printf ("\n");
    for (x=0;x<columnas;x++)
 {    if ((i==filas-1) && (x==columnas-1))
      {
printf ("%4c",' ');  
              }
              else
              printf ("%4d",M[i][x]);
               
 }
 printf ("\n");
  }
 
}
//--------------------------------------------------------------------------------  

void desordenar (int filas,int columnas,int M[TAM][TAM])

{
     srand (time(NULL));
    int i,x,g,temp,y;
    temp = (filas*columnas)-1;
    for(i=0; i<filas; i++)
   {
     for(g=0; g<columnas; g++)
     {
       M[i][g] = 0;
     }
   }
   
   for(i=1; i<=temp; i++)
  {
     do
    {
     y = rand() % filas;
     x = rand() % columnas;
    }
    while(M[y][x]);
    M[y][x]=i;
  }
     printf("\n");  
    for(i=0; i<filas; i++)
    {
      for(g=0; g<columnas; g++)
      {
        if (M[i][g]==0)
        {
      printf ("%4c",' ');  
        }
        else
        {
          printf("%4d",M[i][g]);
        }
      }
        printf("\n\n");
    }
}


//-----------------------------------------------------------------------
void jugar(int filas, int columnas, int M[TAM][TAM])
{
   int movimiento=0;
   int auxFila=0;
   int auxColumna=0;
   int aux=0;
   int aux2=0;
   double tiempoTotal=0;

   printf("\n\n");
   do
   {
 
   
       for(int x=0; x<filas; x++)
       {
           for(int y=0; y<columnas; y++)
           {
               if(M[x][y]==0)
               {
                   printf("  \t");
                   auxFila=x;
                   auxColumna=y;
               }
               else
               {
                   printf("%d\t",M[x][y]);
               }
           }
           printf("\n\n");                    
       }
       
       do
       {
           movimiento=getch();
       }while((movimiento!=72)&&(movimiento!=75)&&(movimiento!=77)&&(movimiento!=80));
       
       switch(movimiento)
       {
           case 72:
           {
               if(auxFila+1==filas)
               {
                   printf("Movimiento Invalido");
                   getch();
               }
               
               else
               {
                   aux2=auxFila+1;
                   aux=M[auxFila][auxColumna];
                   M[auxFila][auxColumna]=M[aux2][auxColumna];
                   M[aux2][auxColumna]=aux;
               }
               break;
           }
           
           case 77:
           {
               if(auxColumna-1==-1)
               {
                   printf("Movimiento Invalido");
                   getch();
               }
               
               else
               {
                   aux2=auxColumna-1;
                   aux=M[auxFila][auxColumna];
                   M[auxFila][auxColumna]=M[auxFila][aux2];
                   M[auxFila][aux2]=aux;
               }
               break;
           }
           
           case 75:
           {
               if(auxColumna+1==columnas)
               {
                   printf("Movimiento Invalido");
                   getch();
               }
               
               else
               {
                   aux2=auxColumna+1;
                   aux=M[auxFila][auxColumna];
                   M[auxFila][auxColumna]=M[auxFila][aux2];
                   M[auxFila][aux2]=aux;
               }
               break;
           }

           case 80:
           {
               if(auxFila-1==-1)
               {
                   printf("Movimiento Invalido");
                   getch();
               }
               else
               {
                   aux2=auxFila-1;
                   aux=M[auxFila][auxColumna];
                   M[auxFila][auxColumna]=M[aux2][auxColumna];
                   M[aux2][auxColumna]=aux;
               }
               break;
           }
       }
       system("cls");
   } while(!ordenado(filas,columnas,M));
   
   printf("\nFelicidades has ganado!!!!");
}



Cuando trato de compilar me da este error

in function void jugar (int,int,int(*)[12])
could no convert ordenado (filas,columnas,M) to bool
in argument to unary !

Por favor hay alguien que me pueda ayudar ?
#5
Cita de: Og. en 19 Julio 2010, 18:41 PM
1.- usa geshi
2.- usas librerias inecesarias para tu codigo (conio y stdlib)
3.- no defines el tipo de retorno de la funcion main
4.-intenta asi:
#include <stdio.h>
#include <time.h>
int main(void)
{
int y, x, i, g, temp, filas, columnas;

srand (time (NULL));

printf ("Introduzca el numero de filas : ");
scanf ("%i",&filas);
printf ("\nIntroduzca el numero de columnas : ");
scanf  ("%i",&columnas);

int matriz[filas][columnas];
temp = filas*columnas;

for(i=0; i<filas; i++)
 for(g=0; g<columnas; g++)
  matriz[i][g] = 0;

for(i=1; i<=temp; i++)
{
 do
 {
  y = rand() % filas;
  x = rand() % columnas;
 }
  while(matriz[y][x]);
 matriz[y][x] = i;
}

for(i=0; i<filas; i++)
{
 for(g=0; g<columnas; g++)
   printf("%i\t", matriz[i][g]);
 printf("\n");
}
return 0;
}


Saludos!

Oyeme gracias me sirvio mucho ,  (aunque tuve que hacer ligeros cambios para que pudiera compilar en Dev c++) , pero esta buenisimo !!! gracias otra ves .  ;-)

Por cierto me podrias explicar que hace este codigo que no lo entiendo muy bien


for(i=1; i<=temp; i++)
{
  do
  {
   y = rand() % filas;
   x = rand() % columnas;
  }
  while(matriz[y][x]);
  matriz[y][x] = i;
}

#6
Hola amigos, que tal ? ... soy nuevo en este foro y me parece espectacular ! ;-)

Bueno tengo una duda , necesito hacer un tipo de "puzzle con numeros" , con matrices (o arreglos bidimensionales) ,y utilizo el random para llenar la matriz pero me repite los numeros .. que se haria en ese caso para que no me repita los numeros  ?  (ojo : ya tengo la semilla ).

les agradezco Que me ayuden

Les dejo un pedazo de codigo que hice :

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#define TAM 12
main ()
{
  srand (time (NULL));
int M[TAM][TAM];

int i,x,alo;
int filas,columnas,a=0,temp;
printf ("Introduzca el numero de filas : ");
scanf ("%d",&filas);
printf ("\nIntroduzca el numero de columnas : ");
scanf  ("%d",&columnas);
temp = filas*columnas;

for (i = 0;i<filas;i++)
{
    printf ("\n");
     
     for (x =0;x<columnas;x++)
     {
       alo = rand () % temp;
       a = alo;
       M
  • =a;
            printf ("%4d",M
    • );
           }
           printf ("\n");
      }
      getch ();
      }

      Ahí esta, mi idea es que recorra la matriz y si un numero esta repetido que cree  otro aleatorio hasta que no sea igual y ese sea el que asigne..

      Gracias de antemano amigos programadores ..