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

#3561
Tal como está, yo quitaría los 2 for, y lo dejaría:

Código (cpp) [Seleccionar]

if (mat[i][j] != 1){   
      mat[i][j] = 1;
}
else printf("Asiento ocupado");
#3562
Código (cpp) [Seleccionar]
union{
    int a;
    uint32_t b;
}n;

n.a = 666;
cout << n.b;
#3563
Además, siempre puedes hacer un union.
#3564
Programación C/C++ / Re:
22 Enero 2014, 16:34 PM
Cita de: amchacon en 22 Enero 2014, 11:46 AM
Con 4 cifras son 24 posibilidades (4 x 3 x 2 x 1).

En cuanto al tema en cuestión te dejo otra propuesta más generica:

Código (cpp) [Seleccionar]
// Prototipos...

bool comprobarCoincidencias(int a,int array[],unsigned int tam);
void generarNumeros(int Vector[],unsigned int tam, int max = RAND_MAX,int min = 0);

// Otro codigo...

// Declaracion de las funciones

void generarNumeros(int Vector[],unsigned int tam, int max,int min)
{
  // Se presupone que Vector tendrá al menos el tamaño de tam.
 
  if (tam == 0) return;
 
  Vector[0] = rand();

  for (unsigned int i = 1; i < tam;i++)
  {
         do
         {
             Vector[i] = (rand()%max)+min;
         } while (comprobarCoincidencias(Vector[i],Vector,i));
  }
}

bool comprobarCoincidencias(int a,int array[],unsigned int tam)
{
   for (unsigned int j = 0; j < tam;j++)
   {
         if (array[j] == a) return true;
   }

   return false;
}


No lo he probado pero debería funcionar. Tienes que pasarle el vector que quieres que te rellene, el numero de cifras y el máximo/menor (no inclusivo) valor que puede coger cada cifra. En este caso el maximo sería 10 porque quieres números del 0-9 supongo.

Por cierto:
Código (cpp) [Seleccionar]
void generarNumeros(int Vector[],unsigned int tam, int max = RAND_MAX,int min = 0);

Los "=" son son argumentos por defecto. Si no le dices nada el compilador te los rellena automaticamente:

Código (cpp) [Seleccionar]
generarNumeros(vector,tam);      // max = RAND_MAX y min = 0
generarNumeros(vector,tam,10);   // max = 10 y min = 0
generarNumeros(vector,tam,10,1); // max = 10 y min = 1


También puedes hacer una función más genérica, pasándole un array con las cifras permitidas, y un int con el número de cifras del número que quieres generar.
#3565
Programación C/C++ / Re:
22 Enero 2014, 14:28 PM
Con 4 cifras y 6 posibilidades, son 360. 6*5*4*3.

Enviado desde mi ST21i mediante Tapatalk
#3566
Programación C/C++ / Re:
22 Enero 2014, 09:10 AM
Son 360 posibilidades. Mejor haz una funcion que lo verifique.

Enviado desde mi ST21i mediante Tapatalk
#3567
Recuerda que Srand no genera número aleatorio. Pone la semilla para Rand.

Si te quieres asegurar, deberás hacerlo a mano, con una función, por ejemplo.

Citarde longitud 4 e intervalo [0,5]

Longitud 4 e intervalo 0,5 el qué?
#3568
Vamos a ver. No soy yo experto en enums, pero sé que el uso normal que se le da a enums, es para entender las cosas. Por ejemplo: en una clase, pongo que si recibe clase(0), haga un cout q ponga "HOLA". Si recibe un 1, hace que diga "QUE TAL", y si recibe un 3, dice "ADIOS". Los números no son tan intuitivos, como poner:
Código (cpp) [Seleccionar]
enum salidas{ hola, qtal, adios};
Así, pondría: clase(salidas.hola); y sería como enviarle un 0.

(No se si los codes los escribí muy bien, pero el concepto era ese xd)

Si quieres guardar valores tipo int, puedes usar arrays, vectores, listas, etc etc
#3569
Un ENUM asigna a cada palabra que tiene dentro, un número. Por defecto, las ordena del 0 al N. Puedes cambiar eso, poniendo: rojo = 5, azul = ... .
Creo que además, puedes "incitarle" un orden poniendo rojo=10, azul=20, ...
No se muy bien esto último, pero puedes probar. Pero lo dicho, en un enum, lo transforma a enteros.
#3570
Dudas Generales / Re:
19 Enero 2014, 23:53 PM
Tú no tienes acceso a la IP desde la cual se envió un mail.   

Enviado desde mi ST21i mediante Tapatalk