elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


  Mostrar Mensajes
Páginas: 1 2 [3] 4 5 6 7 8 9 10 11 12 13 14
21  Sistemas Operativos / Windows / Re: Como hacer para que Google haga las busquedas en español? en: 3 Agosto 2018, 20:09 pm
Si buscas algo en Google y vas al fondo de la pagina verás algo como:

Citar
País 00000, Direccion aproximada - De tu dirección de Internet - Usar la ubicación precisa  - Más información

Haz click en "Usar la ubicación precisa" y te pedira acceso a tu ubicación, dale a Rechazar.

Si no funciona, desde Firefox ve a Herramientas*->Opciones->Idioma
en "Seleccione su idioma preferido para mostrar las páginas" click en Seleccionar...
Busca "Español [ES]" en el cuadro de dialogo y click en Agregar, luego en Subir para que aparezca arriba del todo, click en Aceptar.
Ve a Google y aparecerá: "Ofrecido por Google en: Español" haces click en Español y listo.

*"Herramientas" es el menú desplegable con un icono de tres rayas debajo del boton de cerrar, también puedes pulsar la tecla Alt y usar la barra superior.
22  Foros Generales / Foro Libre / Re: ¿Por que la tonteria con los test de ADN? en: 9 Junio 2018, 21:13 pm
Basicamente:

http://southpark.cc.com/episodios-en-espanol/s21e03-especial-de-feriado


"Si una persona tiene descendencia afroamericana no pueden tacharlo de racista"
No tiene ningún sentido, pero hay gente que piensa así.
23  Sistemas Operativos / Windows / Re: [AYUDA!!!] Mover partición "Reservado para el sistema" en: 16 Mayo 2018, 14:16 pm
Pude solucionarlo, marque la particion como activa pero me salia un mensaje de error:
Falta bootmgr Ctrl+Alt+Supr para reiniciar

Copie los archivos bootmgr y bootmgr.efi desde C:\Windows\Boot\EFI|PCAT  a C:\
Luego me salia el siguiente error:
The Boot Configuration Data for your PC is missing or contains errors. \BOOT\BCD

Inicie desde un LiveCD y copie la partición System Reserved a C:\ et Voilà! todo funciona sin problemas.

El USB de instalación de Windows 7 no me detectaba la instalación y por ende no me dejaba repararla.
24  Sistemas Operativos / Windows / Re: [AYUDA!!!] Mover partición "Reservado para el sistema" en: 16 Mayo 2018, 03:06 am
Al darle a Reparar no me aparece la instalación de Windows 7.

Cuando debería verse algo así:


El disco si lo detecta (puedo acceder a él desde el cuadro de diagolo que aparece en "Cargar Controladores"), por lo que no creo que sea un tema de drivers.
El SSD es un Kingston ssdNOW UV300 120GB y la placa base MSI Z170A GAMING M3.



25  Sistemas Operativos / Windows / [AYUDA!!!] Mover partición "Reservado para el sistema" en: 16 Mayo 2018, 00:15 am
Hola, tengo tres unidades de almacenamiento:
  • SSD 120GB Sistema Operativo
  • HDD 500GB (particion de 100MB Reservado para el sistema)
  • HDD 1TB

¿Cómo puedo mover la particion: "Reservado para el sistema" 100MB NTFS Correcto (Sistema, Activo, Partición Primaria) del disco de 500GB a alguno de los otros sin tener que reinstalar el Sistema Operativo?

Puedo redimensionar los otros dos discos y formatear el de 1TB si fuera necesario, uso Windows 7 Ultimate SP1 y dispongo de la ISO.

El problema que tengo es que si quito el disco de 500GB me sale el siguiente mensaje luego de la BIOS:
"Reboot and Select proper Boot device or Insert Boot Media in selected Boot device and press a key"
26  Sistemas Operativos / Windows / Re: Administrador en Win 10 en: 7 Abril 2018, 01:52 am
Click en el icono de Windows
Selecciona "Configuración"
Click en "Cuentas"
Click en "Familia y otros usuarios"
Click en "Agregar a alguien más a este PC"
Seleccionar "No tengo la informacion de registro de esa persona"
Seleccionar "Agragar usuario sin cuenta de Microsoft"
Ingresar un nombre de usuario y escribir la contraseña dos veces, ingresar una pista y clickear siguiente.
Click en el icono de Windows
Seleccionar el icono de usuario de las esquina superior izquierda del Menú Inicio
Seleccionar el nuevo usuario.
Luego ingresa a la cuenta con la contraseña anterior.
27  Informática / Hardware / Re: Procesador en: 31 Marzo 2018, 17:24 pm
Aprende a escribir.
28  Foros Generales / Noticias / Re: Mozilla inicia una petición de firmas para pedir a Facebook que mejore la ... en: 22 Marzo 2018, 17:29 pm
Totalmente de acuerdo.

...pero qué se puede esperar?...después de todo, Zuckerberg, (parece que) es sólo un niñato malcriado, que tuvo una buena idea y consiguió el dinero necesario para llevarlo a cabo...

En realidad un millonario le pago para que deje de estudiar y creará Facebook. Y la idea era hacer un álbum de fotos de fin de curso. Así que sí, básicamente es un ***** con suerte.
29  Programación / Programación C/C++ / Re: Ayuda juego Mastermind en C++ en: 10 Diciembre 2017, 20:02 pm
Aquí lo tienes en C++ más reducido, este no muestra el historial de intentos.

También tengo una IA que busca las mejores combinaciones en base a los intentos anteriores.

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <ctype.h>
  4. #include <time.h>
  5.  
  6. const int MAXIMO_INTENTOS = 20;
  7. const int LARGO_CODIGO = 6;
  8. const char PRIMERA_LETRA = 'A';
  9. const char ULTIMA_LETRA = 'H';
  10.  
  11. typedef char TipoCodigo[LARGO_CODIGO + 1];
  12.  
  13. bool EsValido(TipoCodigo codigo) {
  14. // Devuelve true si el codigo es valido.
  15. int i = 1;
  16. while (i <= LARGO_CODIGO && codigo[i] >= PRIMERA_LETRA && codigo[i] <= ULTIMA_LETRA)
  17. i++;
  18. // Es valido si todos los elementos del codigo estan en el rango.
  19. return i > LARGO_CODIGO;
  20. }
  21.  
  22. void ObtenerNota(TipoCodigo propuesta, TipoCodigo codigo, unsigned int &buenos, unsigned int &regulares) {
  23. // Obtener cantidad de buenos y regulares entre dos codigos.
  24. TipoCodigo propuestacopia;
  25. buenos = 0;
  26. for (int i = 1; i <= LARGO_CODIGO; i++) {
  27. if (propuesta[i] == codigo[i]) buenos++;
  28. propuestacopia[i] = propuesta[i];
  29. }
  30. int max = 0;
  31. // Hallar la "maxima" cantidad de buenos.
  32. for (int i = 1; i <= LARGO_CODIGO; i++) {
  33. int j = 1;
  34. while (j <= LARGO_CODIGO && codigo[i] != propuestacopia[j]) j++;
  35. if (j <= LARGO_CODIGO) {
  36. // Borrar la letra para no volver a usar la misma.
  37. propuestacopia[j] = ' ';
  38. max++;
  39. }
  40. }
  41. regulares = max - buenos;
  42. }
  43.  
  44. void GenerarCodigo(TipoCodigo &codigo) {
  45. // Generar codigo aleatorio
  46. int ord_prim = (int)PRIMERA_LETRA;
  47. int ord_ult = (int)ULTIMA_LETRA;
  48. for (int i = 1; i <= LARGO_CODIGO; i++)
  49. codigo[i] = ord_prim + rand() % (ord_ult - ord_prim + 1);
  50. }
  51.  
  52. void LeerCodigo(TipoCodigo &codigo) {
  53. char c;
  54. for (int i = 1; i <= LARGO_CODIGO; i++) {
  55. scanf("%c", &c);
  56. codigo[i] = toupper(c);
  57. }
  58. do {
  59. c = getchar();
  60. } while (c != '\n');
  61. }
  62.  
  63. int main() {
  64. srand(time(NULL));
  65. TipoCodigo secreto;
  66. GenerarCodigo(secreto);
  67. int intentos = 0;
  68. bool exito = false;
  69. bool fracaso = false;
  70. printf("He pensado un codigo, intenta adivinarlo.\n");
  71. printf("*Pista: tiene %d letras y estas estan entre la %c y la %c\n", LARGO_CODIGO, PRIMERA_LETRA, ULTIMA_LETRA);
  72. printf("Las letras pueden repetirse o no aparecer en el codigo, y solo tienes %d intentos.\n\n", MAXIMO_INTENTOS);
  73. do {
  74. TipoCodigo codigo;
  75. LeerCodigo(codigo);
  76. while (!EsValido(codigo)) {
  77. printf("El codigo no es valido, intentalo de nuevo.\n");
  78. LeerCodigo(codigo);
  79. }
  80. intentos++;
  81. unsigned int buenos, regulares;
  82. ObtenerNota(codigo, secreto, buenos, regulares);
  83. if (buenos == LARGO_CODIGO) exito = true;
  84. else if (intentos == MAXIMO_INTENTOS) fracaso = true;
  85. else {
  86. printf("B: %d   R: %d", buenos, regulares);
  87. printf("                      Te quedan %d intentos\n", MAXIMO_INTENTOS - intentos);
  88. }
  89. } while (!(exito || fracaso));
  90.  
  91. printf("\n\n");
  92. if (exito) printf("***** FELICIDADES, has ganado. *****\n");
  93. else {
  94. printf("--- Demasiados intentos, perdiste. ---\n");
  95. printf("El codigo secreto era: ");
  96. for (int i = 1; i <= LARGO_CODIGO; i++) printf("%c", secreto[i]);
  97. }
  98. printf("\n");
  99. }
30  Programación / Programación C/C++ / Re: Ayuda juego Mastermind en C++ en: 10 Diciembre 2017, 17:58 pm
Este es un codigo que hice hace varios años en Pascal, se puede pasar a C muy fácil.

"Regulares" es a lo que tu llamas heridos y "buenos" es muertos.
ObtenerNota haya dichos valores en el codigo, en este caso tiene un largo de seis letras que pueden ir de la A a la H

Código
  1. PROCEDURE ObtenerNota(propuesta, codigo: TipoCodigo; VAR buenos, regulares: RangoBR);

Código
  1. void ObtenerNota(TipoCodigo propuesta, TipoCodigo codigo, RangoBR &buenos, RangoBR &regulares) {

Código
  1. PROGRAM MasterMind (input, output);
  2. CONST
  3. MAXIMO_INTENTOS = 20;
  4. LARGO_CODIGO = 6;
  5. PRIMERA_LETRA = 'A';
  6. ULTIMA_LETRA = 'H';
  7. TYPE
  8. RangoCodigo = 1..LARGO_CODIGO;
  9. TipoCodigo = ARRAY [RangoCodigo] OF Char;
  10.  
  11. RangoBR = 0..LARGO_CODIGO;
  12. TRegistroNota = RECORD
  13. codigo: TipoCodigo;
  14. buenos,
  15. regulares: RangoBR
  16. END;
  17.  
  18.    THistoria = RECORD
  19. info: ARRAY [1..MAXIMO_INTENTOS] OF TRegistroNota;
  20. tope: 0..MAXIMO_INTENTOS
  21. END;
  22.  
  23. ListaNotas = ^CeldaNota;
  24. CeldaNota = RECORD
  25. codigo: TipoCodigo;
  26. buenos,
  27. regulares: RangoBR;
  28. turno: 1..MAXIMO_INTENTOS;
  29. siguiente: ListaNotas
  30. END;
  31. VAR
  32. secreto, codigo: TipoCodigo;
  33. historia: THistoria;
  34. buenos, regulares: RangoBR;
  35. i, intentos: Integer;
  36. exito, fracaso: Boolean;
  37. lista: ListaNotas;
  38.  
  39. FUNCTION EsValido(codigo: TipoCodigo): Boolean;
  40. VAR
  41. i: Integer;
  42. BEGIN
  43. i := 1;
  44. WHILE (i <= LARGO_CODIGO) AND (codigo[i] >= PRIMERA_LETRA) AND (codigo[i] <= ULTIMA_LETRA) DO
  45. i := i + 1;
  46. EsValido :=  i > LARGO_CODIGO
  47. END;
  48.  
  49. PROCEDURE ObtenerNota(propuesta, codigo: TipoCodigo; VAR buenos, regulares: RangoBR);
  50. VAR
  51. i, j, max: Integer;
  52. propuestacopia: TipoCodigo;
  53. BEGIN
  54. buenos := 0;
  55. FOR i := 1 TO LARGO_CODIGO DO
  56. BEGIN
  57. IF propuesta[i] = codigo[i] THEN
  58. buenos := buenos + 1;
  59. propuestacopia[i] := propuesta[i]
  60. END;
  61. max := 0;
  62. FOR i := 1 TO LARGO_CODIGO DO
  63. BEGIN
  64. j := 1;
  65. WHILE (j <= LARGO_CODIGO) AND (codigo[i] <> propuestacopia[j]) DO
  66. j := j + 1;
  67. IF j <= LARGO_CODIGO THEN
  68. BEGIN
  69. max := max + 1;
  70. propuestacopia[j] := ' '
  71. END
  72. END;
  73. regulares := max - buenos
  74. END;
  75.  
  76. PROCEDURE IniciarHistoria(VAR historia: THistoria);
  77. BEGIN
  78. WITH historia DO
  79. tope := 0
  80. END;
  81.  
  82. PROCEDURE GuardarNota(VAR historia: THistoria;
  83. codigo: TipoCodigo;
  84. buenos, regulares: RangoBR);
  85. VAR
  86. i: Integer;
  87. BEGIN
  88. WITH historia DO
  89. BEGIN
  90. tope := tope + 1;
  91. FOR i := 1 TO LARGO_CODIGO DO
  92. info[tope].codigo[i] := codigo[i];
  93. info[tope].buenos := buenos;
  94. info[tope].regulares := regulares
  95. END
  96. END;
  97.  
  98. FUNCTION ListaOrdenada(historia: THistoria): ListaNotas;
  99. VAR
  100. i, j: Integer;
  101. p, actual, anterior, lista: ListaNotas;
  102. BEGIN
  103. lista := NIL;
  104. FOR i := 1 TO historia.tope DO
  105. BEGIN
  106. new(p);
  107. FOR j := 1 TO LARGO_CODIGO DO
  108. p^.codigo[j] := historia.info[i].codigo[j];
  109. p^.buenos := historia.info[i].buenos;
  110. p^.regulares := historia.info[i].regulares;
  111. p^.turno := i;
  112.  
  113. actual := lista;
  114. anterior := lista;
  115. WHILE (actual <> NIL) AND (10 * actual^.buenos + actual^.regulares <= 10 * p^.buenos + p^.regulares) DO
  116. BEGIN
  117. anterior := actual;
  118. actual := actual^.siguiente
  119. END;
  120. IF (anterior = NIL) OR (anterior = actual) THEN
  121. BEGIN
  122. p^.siguiente := anterior;
  123. lista := p
  124. END
  125. ELSE
  126. BEGIN
  127. p^.siguiente := actual;
  128. anterior^.siguiente := p
  129. END
  130. END;
  131. ListaOrdenada := lista
  132. END;
  133.  
  134. PROCEDURE GenerarCodigo(VAR codigo: TipoCodigo);
  135. VAR
  136. i: Integer;
  137. ordprim, ordult: Integer;
  138. BEGIN
  139. ordprim := ord(PRIMERA_LETRA);
  140. ordult  := ord(ULTIMA_LETRA);
  141. FOR i := 1 TO LARGO_CODIGO DO
  142. codigo[i] := chr(ordprim + random(ordult - ordprim + 1))
  143. END;
  144.  
  145. PROCEDURE LeerCodigo(VAR codigo: TipoCodigo);
  146. VAR
  147. i: Integer;
  148. BEGIN
  149. FOR i := 1 TO LARGO_CODIGO DO
  150. Read(codigo[i]);
  151. ReadLn
  152. END;
  153.  
  154. (* ------ Programa Principal ------ *)
  155. BEGIN
  156. Randomize;
  157. IniciarHistoria(historia);
  158. GenerarCodigo(secreto);
  159. intentos := 0;
  160. exito := false;
  161. fracaso := false;
  162. WriteLn('He pensado un codigo, intenta adivinarlo.');
  163. WriteLn('*Pista: tiene ', LARGO_CODIGO, ' letras y estas estan entre la ', PRIMERA_LETRA, ' y la ', ULTIMA_LETRA);
  164. WriteLn('Las letras pueden repetirse o no aparecer en mi codigo, y solo tienes ', MAXIMO_INTENTOS, ' intentos.');
  165. WriteLn;
  166. REPEAT
  167. LeerCodigo(codigo);
  168. WHILE NOT EsValido(codigo) DO
  169. BEGIN
  170. WriteLn('El codigo no es valido, intentalo de nuevo.');
  171. LeerCodigo(codigo)
  172. END;
  173. intentos := intentos + 1;
  174. ObtenerNota(codigo, secreto, buenos, regulares);
  175. IF buenos = LARGO_CODIGO THEN
  176. exito := true
  177. ELSE IF intentos = MAXIMO_INTENTOS THEN
  178. fracaso := true
  179. ELSE
  180. BEGIN
  181. Write('B: ', buenos, '   R: ', regulares);
  182. WriteLn('                      Te quedan ', MAXIMO_INTENTOS - intentos, ' intentos')
  183. END;
  184. GuardarNota(historia, codigo, buenos, regulares)
  185. UNTIL exito OR fracaso;
  186. WriteLn;
  187. WriteLn;
  188. IF exito THEN
  189. WriteLn('***** FELICIDADES, has ganado. *****')
  190. ELSE
  191. BEGIN
  192. WriteLn('--- Demasiados intentos, perdiste. ---');
  193. Write  ('    El codigo secreto era: ');
  194. FOR i := 1 TO LARGO_CODIGO DO
  195. Write(secreto[i])
  196. END;
  197. WriteLn;
  198. WriteLn;
  199. lista := ListaOrdenada(historia);
  200. WHILE lista <> NIL DO
  201. BEGIN
  202. FOR i := 1 TO LARGO_CODIGO DO
  203. Write(lista^.codigo[i]);
  204. Write(' -->  Bs = ', lista^.buenos, ',  Rs = ', lista^.regulares, ' (Turno: ', lista^.turno, ')');
  205. WriteLn;
  206. lista := lista^.siguiente
  207. END;
  208. ReadLn
  209. END.
Páginas: 1 2 [3] 4 5 6 7 8 9 10 11 12 13 14
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines