|
3211
|
Programación / Programación C/C++ / Re: Cartón de Bingo en C.
|
en: 8 Febrero 2018, 01:58 am
|
Para no repetir números, hay que usar el algoritmo del sombrero, ( Fisher-Yates-Durstenfeld)... Me autocito de otro hilo (solo cambia la cantidad de valores que se usan, alli 9 aquí ¿100?). Los números aleatorios debes elegirlos entre el rango 1-8... así no te saldrá nunca el 9. Para evitar que los números salgan repetidos una y otra vez, procede de esta manera: Primero se meten en la 'bolsa' los números que se van a rifar: Array de enteros = funcion RellenarArray(entero cantidad, entero Inicio) entero k array de enteros Ar
bucle para k desde Inicio a (Cantidad + Inicio) Ar(k) = k fin bucle fin funcion Y luego se barajan, así el reparto es aleatorio: funcion Barajar(Array de enteros Ar, entero Cantidad) entero i, j, k
Bucle para k desde cantidad-1 hasta 1 retrocediendo j = random(ente 0 y k)
i = Ar(j) Ar(j) = Ar(k) Ar(k) = i fin bucle
Con cada nueva partida, tu harás dos llamadas, antes que nada: Ar = Rellenararray(8, 1) Barajar(Ar, 8) //....colocar en sus casillas
Si como apunta Palitroquez, no quieres repetir cartones, es más de lo mismo...
|
|
|
3212
|
Programación / .NET (C#, VB.NET, ASP) / Re: Guardar cambios datagridview
|
en: 7 Febrero 2018, 20:55 pm
|
... hay alguna manera de hacer esto pero mas simplificado? ...
Es que no es muy explicativo el código puesto... Por ejemplo si solo usas celda4, para que asignar valores desde la 1 a la 5?, ó para qué usar row, si siempre es la columna 0? Tampoco tiene sentido usar strings, para asignar el contenido de un textbox, si lo que aloja precisamente de interés un textbox es un string... Usa mejor: dataGridView1.Rows[0].cell(4).value.ToString Entonces todo ese código (del m,ensaje previo, estoy con prisas no he leído tod) quedaría tal que así: if (TextBox1.Text.Length == 0 ) TA.UpdateQuery1( txtACTUALIZAR.Text, dataGridView1.Rows[0].cell(4).value.ToString, txtCONTRATO.Text); else { TA.UpdateQuery1( txtACTUALIZAR.Text, textBox1.Tex, txtCONTRATO.Text); }
Solo me tendría que actualizar la celda del datagrid en la que haga click. De la manera que hos he facilitado me habce bien pero claro, mi tabla tiene 55 columnas y no quiero poner 55 textbox. mi idea es poner 1 texbox y que ese texbox valga para todas las celdas. Por eso necesito que el textbox se enlace con la celda seleccionada. y solo con la celda seleccionada. ¿Algún consejillo? El datagridview, tiene varios eventos... CellMouseClick, CellContentClick, etc... usa el que más te convenga. Por ejemplo (ahora tengo delante el vb2010), Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick messagebox.show( e.ToString()) //incluso el tostring se puede omitir, dado que la celda es de tipo string (si el ColumnType está declarado de tipo string)... End Sub
|
|
|
3213
|
Foros Generales / Noticias / Re: Nuevo estudio confirma que el teléfono móvil no produce cáncer
|
en: 7 Febrero 2018, 02:39 am
|
Ese estudio no vale para nada.
Pretender comparar ratas con humanos en determinadas situaciones, es simplemente falaz... Más que la dosis recibida, importa la latencia... la vida de un ratón es demasiado breve... un humano sometido años y años a radiación, no puede ser comparable a un ratón sometido a meses de radiación.
Lo siento, pero hay cosas que no son trasladables... cuando les interesa hacen falacias. Un sencillo ejemplo serían las simples hormigas, las sobrecargamos en su espalda con el quíntuple de su peso y ¡OH, maravilla su espalda no sufre daños!, conclusión un humano podrá soportar toda su vida el doble de su peso sobre su espalda, porque los estudios demostraron que una hormiga soportó toda su vida 5 veces su peso sobre su espalda... FALSO. Un humano solo cargando 25-50 kg. durante x años, acabará sufriendo daños en la espalda, ni mucho menos toda su vida, le bastan 10-20 años. y menos si esos años ocupan una edad alta en la persona. Simplemente hay cosas cuya magnitud no puede trasladarse a la ligera. Una hormiga puede soportar más de 10 veces su peso, lo mismo que una pulga puede saltar más de 50 veces su altura, lo mismo que... bla,bla,bla...
Es lo mismo que el óxido... si algo precisa 50 años para oxidarse, precisa 50 años... no porque se sea ratón o humano varía el tiempo de oxidación.
Las reacciones tienen una duración dependiente de la materia, no de la vida del ser... y si no, pués ahí tenemos a las cucarachas, como soportan la radiación nuclear y no mueren concluiremos pués, que el ser humano no desarrollará cáncer ni nada... las cucarachas sobreviven... jilipolleces de "estudios ¿científicos?".
|
|
|
3214
|
Foros Generales / Noticias / Re: Adiós al geobloqueo en internet en Europa, y por qué no es tan buena noticia ...
|
en: 7 Febrero 2018, 02:14 am
|
Es completamente ilegal... Cuando en el año 2000, se aprobó las leyes necesarias para que las multinacionales pudieran campar a sus anchas por todo el mundo, lo hicieron vendiendo la moto a todo el público, de que "era un mercado para todo el mundo, cualquiera podría comprar y vender en cualquier parte"... años más tarde hemos ido viendo como siempre se ha ido frenando todo (para los usuarios domésticos). Incluso metiendo de por medio aduanas...
Las grandes corporaciones cuando necesitan que se aprueben leyes que les benefician, nos meten a todos en el saco, así bajo la idea de que es un beneficio para todos, quién puede negarse... y de tapadillo se cuelan sus propuestas de leyes... al paso de los años, luego empiezan las restricciones.. pero solo para el público en general... al final las leyes que se aprobaron para todos, sirven solo para ellos...
...en fín, siempre lo mismo. Los políticos se venden, porque a fin de cuentas son los mismos lobos vestidos de ovejas para 'reconducir al rebaño'...
El geobloqueo, es ilegal desde el principio. Me importa un güevo, si una cadena de tv. pierde televidentes, porque prefiere otro canal de un país vecino. ...que se pongan las pilas y hagan mejor programación... la ley de la oferta y la demanda, parece que solo se aplica cuando el que tiene que perder es el ciudadano.
|
|
|
3215
|
Programación / Programación General / Re: Problema con ciclo if [Java]
|
en: 7 Febrero 2018, 01:46 am
|
Está claro que no entiendes lo que tienes escrito, de otro modo, sabrías lo que tienes que hacer... Elimina esta sección del código: }else{
...pero todavía si existiera más veces, saldría el mensaje más veces... Si solo quieres que lo muestre una vez, o bien cuando lo localice sales del bucle, o bien cuentas cuantas veces aparece y tras el bucle, resumes: "Encontrado x veces", donde x es la cuenta... incluso 0.
|
|
|
3216
|
Foros Generales / Noticias / Re: Los bancos dejan de conceder créditos para comprar criptomoneda
|
en: 5 Febrero 2018, 17:41 pm
|
El título induce a error... Por un lado parece decir: los bancos dejan de conceder créditos para (ellos, los bancos dedicar ese dinero a) comprar criptomonedas. y por otro lo que al final relata el artículo: Los bancos dejan de conceder créditos para (los clientes que dedican dicho crédito a) comprar criptomonedas.
Como en ambos casos hay una parte sobreentendedida, el título es obtuso, porque puede interpretarse cualquiera de las dos.
Es cansino, ver como los intentos de periodistos, quieren acaparar visitas a base de ambigüedades en los títulos...
|
|
|
3217
|
Programación / Programación General / Re: es posible editar una biblioteca estática
|
en: 5 Febrero 2018, 17:28 pm
|
Poderse siempre se puede. Las pregunta debería ser: Qué sabes de ensamblador (si está compilado a código nativo) o que sabes de CIL (si está en bytecode). A menudo la razón por la que una librería de una versión no funciona con otra, suele ser debido al paso de parámetros y retorno de llamadas, es lo que se llama "calling convention", y básicamente es un acuerdo, para que desde donde se llama deba saber donde depositar los parámetros y que registros deben contener la dirección de llamada y de retorno, cuando finalice la llamada. En general se recurre a usar la pila, pero incluso así, el orden de introducir los datos y qué se introduce, cómo y quién libera la pila (si el llamante a la devolución o el llamado) puede variar... En resumen si un entorno opera en un modelo y una librería funciona en otro, directamente no puede ser operado, y por tanto la librería no puede ser usada... Para más detalles mira por ejemplo: https://en.wikipedia.org/wiki/X86_calling_conventions
|
|
|
3218
|
Seguridad Informática / Criptografía / Re: Necesito ayuda para descencryptar esto
|
en: 4 Febrero 2018, 19:18 pm
|
Veamos, a ver si lo entiendes...
Tengo este número: 308527 puedes decirme como lo vuelvo atrás?. pués si. Probando diferentes combinaciones, por ejemplo: 308.527 = 300.000 + 811 + 49 + 22 + 1145 - 8209 + 1709 + 3218 + 9782 308.527 = 308.000 + 500 + 20 + 10 - 3 308.527 = 435 + 652 + 233 + 1290 + 6542 + 111 + 023 + 005 + 2356 - 5912 + 14561 + 25853 + 065 + 068 + 327 + 108 + 2713 +....
Un hash, ES una suma de verificación, un resumen. Lo mismo que en el ejemplo dado el resultado es una suma (matemática), que valores iniciales lo componían?. Imposible de saber... el mismo resultado tiene múltiples posibilidades. Aunque en un ejemplo matemático (como las sumas reales mostradas) es fácil comprobar que la cantidad de valores que sumados unos y/o restados otros, dan ese resultado es practicamente infinito... en general es finito dados una cantidad limitada y fija de valores.
Cada sumando (del ejemplo) es como si fuera un carácter... así un MISMO hash puede obtenerse de una simple contraseña de 6 caracteres, como de 25 como de 80, como de un fichero de 2Terabytes... incluso de múltples contraseñas distintas de 22 caracteres...
...si has entendido hasta aquí, ahora invirtamos los papeles, yo pregunto y tú contesta: ¿Qué valores deben sumarse y restarse para obtener el valor 308.527 ????. Si de verdad lo han entendido, entenderás que es una pregunta absurda y tonta.
|
|
|
3220
|
Foros Generales / Noticias / Re: YouTube promete castigos “significativos” para quienes dañen a la comunidad
|
en: 4 Febrero 2018, 18:14 pm
|
He ahí el problema... Youtube intenta no 'alienar al anunciante', y ahora (este año) parece que al youtuber, y también parece que el que menos importa en la ecuación es el consumidor final... Si al final resulta ser así, no tendrán los resultados esperados.
Cualquier matemático sabe que en una ecuación todas las variables a priori importan, y si sospecha que alguna no importa, entonces hace una 'simplificación' para eliminar variable ssuperfluas (que se anulan). Vale que algunas suman y otras multiplican, pero en estas cosas y estos casos, es difícl reconocer qué variable suma y cual multiplica... luego lo peor que se puede hacer es pretender saberlo todo e ignorar variables.
|
|
|
|
|
|
|