|
561
|
Programación / Programación C/C++ / Re: Ayuda o consejos para terminar este programa con asteriscos
|
en: 9 Abril 2015, 21:16 pm
|
- Por favor, ambos utilicen las etiquetas GeSHi.
Al parecer eso que te dicen soluciona, aunque todavía tiene algo que no funciona tal como lo pides, tienes que arreglar la definición del segundo ciclo anidado. En vez de: for (i=n;i>=1;i--) { for (j=i;j>=1;j--) {
debe ser: for (i=n-1;i>=1;i--) { for (j=i;j>=1;j--) {
La variable i debe empezar en n-1 porque sino te va a imprimir esa linea dos veces! Salu2s
|
|
|
563
|
Programación / .NET (C#, VB.NET, ASP) / Re: rellenar con rand variable ya cargada de datos
|
en: 9 Abril 2015, 16:10 pm
|
A ver, yo me pierdo un poco con la sintaxis de VB.NET, entonces, te voy a tratar de explicar lo que yo haría:
Tuviera un array de bool con un tamaño de 100 (00 a 99), entonces cada vez que tu función genere un número lo guardas normal, pero en este array de bool indexas en ese número y lo pones en true, y así sucesivamente, luego, cuando vayas a generar tus números con rand (en caso de que lo necesites, si el count<30), lo capturas antes de agregarlo a resultado e indexas y chequeas en ese array de bool a ver si está en true, si esta en true, calculas otro aleatorio, sino, lo insertas y lo pones en true. De esta manera evitaras tener valores repetidos
Me explico?
|
|
|
566
|
Programación / Java / Re: array bidimensiona con numeros aleatorios sin repetir
|
en: 9 Abril 2015, 15:02 pm
|
Ya veo, algo como el algoritmo Bucket Sort. Sip, en arrays grandes puede llegar a ser más eficiente, aunque en la VM actual no lo creo. Por ejemplo, for y while tardan 234 milisegundos en recorrer un array de 15 millones, osea .234 segundos, Iterator 340. Puedes ver el benchmark aquí. Como puedes observar, es poquísimo tiempo para tan exorbitante muestra. Saludos. Exacto, por eso dije que era un sugerencia a tener en cuenta para ese método, pues en este caso no es perceptible pues la entrada de datos es pequeña! Solo algo a tener en cuenta si se le quiere dar otro uso! Salu2s
|
|
|
567
|
Programación / Java / Re: array bidimensiona con numeros aleatorios sin repetir
|
en: 9 Abril 2015, 05:59 am
|
Hola DarK_FirefoX, Sip, es exactamente eso. Es lo mismo que hacer: for(int row=0; row<numbers.length; row++) { for(int col=0; col<numbers[row].length; col++) { if(numbers[row][col] == number) isRepeated = true; } }
Incluso se puede otpimizar un poco, para que rompa el loop principal al detectar un número repetido: mainloop: if(col == number) { isRepeated = true; break mainloop; } } } return isRepeated; }
Un saludo. Gracias, entendido. Eso era lo que pensaba. Pero pensando, puedo sugerir hacer esa revisión (de si está repetido) dinamicamente, aunque en este caso no será perceptible (por el pequeño tamaño del array original), pero creando un array de bool con el tamaño definido por la cantidad de números posibles a poner en el array bidimensional, y una vez que se genere el número se indexa y se cambia este array a true, luego la comprobación sería solo indexar y comprobar el estado del array en esa posición. (tendría una complejidad temporal de O(1)), no se si me explico. Salu2s
|
|
|
568
|
Programación / Java / Re: array bidimensiona con numeros aleatorios sin repetir
|
en: 9 Abril 2015, 01:59 am
|
Excelente respuesta! Pero voy a meterme un poco y preguntar algo.
¿Que hace exáctamente el método isRepeated()?
(Entiendo la funcionalidad, pero no veo que es lo que hace -> ¿Recorre el array bidimensional completo buscando por el numero aleatorio ya este insertado?
El problema es que no me he familiarizado completamente con la sintaxis de JAVA.
|
|
|
569
|
Foros Generales / Foro Libre / Re: IQ Test
|
en: 8 Abril 2015, 15:35 pm
|
<- 125
Creo que existen diferentes tipos de test! Este nunca lo habia visto.
Creo, como bien dice Nac-ho, el IQ debe ser tomado por un especialista
|
|
|
|
|
|
|