1 00:00:00,000 --> 00:00:12,279 Ejercicio 25, silencio, vamos a leer n palabras y las guardamos en un array, a continuación 2 00:00:12,279 --> 00:00:20,039 vamos a eliminar los duplicados para tener como resultado final un array sin duplicados, 3 00:00:20,640 --> 00:00:26,859 luego los datos de partida van a ser n palabras, n no sabemos todavía lo que es, pues se lo 4 00:00:26,859 --> 00:00:29,440 vamos a tener que solicitar al usuario, bueno pues no pasa nada. 5 00:00:35,469 --> 00:00:46,619 Pues obviamente se llama Manuela 6 00:00:46,619 --> 00:00:47,640 Como todo el mundo que se 7 00:00:47,640 --> 00:00:50,159 Sí 8 00:00:50,159 --> 00:00:53,679 El nombre de toda la vida 9 00:00:53,679 --> 00:00:55,899 Como se llama la hija de Alejandro Sanz 10 00:00:55,899 --> 00:00:57,000 Por ejemplo 11 00:00:57,000 --> 00:01:02,520 En fin 12 00:01:06,780 --> 00:01:11,500 Sí, no se deprimiría tanto, seguro 13 00:01:11,500 --> 00:01:14,640 Venga, a ver 14 00:01:14,640 --> 00:01:17,159 Este es el número de palabras 15 00:01:17,159 --> 00:01:19,000 Que vamos a introducir 16 00:01:19,000 --> 00:01:38,049 ¿Cuántas palabras va a introducir? 17 00:01:42,129 --> 00:01:43,609 Vale 18 00:01:43,609 --> 00:01:44,829 Pues tres 19 00:01:44,829 --> 00:01:47,750 No, tres no, las que le dé la gana 20 00:01:47,750 --> 00:01:49,150 Cuando ejecutemos el código 21 00:01:49,150 --> 00:01:51,329 Vale, pues entonces 22 00:01:51,329 --> 00:01:53,989 Como van a ser n palabras, ahora ya sabemos 23 00:01:53,989 --> 00:01:55,069 Declarar el array, ¿verdad? 24 00:01:56,290 --> 00:01:57,269 Entonces todo el mundo sabe 25 00:01:57,269 --> 00:01:59,709 Antes que yo, puede ir adelantando 26 00:01:59,709 --> 00:02:00,890 Antes de que yo lo escriba, obviamente 27 00:02:00,890 --> 00:02:03,170 Nadie aquí se quedaría parado 28 00:02:03,170 --> 00:02:05,010 Porque todo el mundo ahora ya haría esto 29 00:02:05,010 --> 00:02:06,489 Y hasta aquí bien 30 00:02:06,489 --> 00:02:10,310 Pues esto es 0,01 puntos 31 00:02:10,310 --> 00:02:11,090 ¡Vamos! 32 00:02:12,129 --> 00:02:15,189 no, 0,01 33 00:02:15,189 --> 00:02:16,210 sobre 5 34 00:02:16,210 --> 00:02:22,550 vale, ahora 35 00:02:22,550 --> 00:02:24,830 vamos a rellenar el array con las palabras 36 00:02:24,830 --> 00:02:26,729 si lo meto en un bucle 37 00:02:26,729 --> 00:02:28,530 tengo nota infinita 38 00:02:28,530 --> 00:02:30,770 como sabemos 39 00:02:30,770 --> 00:02:32,810 exactamente la cantidad de veces que se va a 40 00:02:32,810 --> 00:02:34,810 ejecutar, pues este bucle 41 00:02:34,810 --> 00:02:36,930 for, estupendo 42 00:02:36,930 --> 00:02:38,930 aquí 43 00:02:38,930 --> 00:02:40,990 poner n y poner 44 00:02:40,990 --> 00:02:43,050 palabras.lenz equivale 45 00:02:43,050 --> 00:02:44,990 ahora mismo a lo mismo, pero siempre va a ser 46 00:02:44,990 --> 00:02:45,770 esto mucho mejor. 47 00:02:47,569 --> 00:02:48,770 ¿Vale? Por si de repente 48 00:02:48,770 --> 00:02:51,030 decidimos que usamos n para otra 49 00:02:51,030 --> 00:02:53,150 cosa. Si decidimos que usamos 50 00:02:53,150 --> 00:02:54,990 n para otra cosa, ya la habríamos cagado. 51 00:02:55,349 --> 00:02:56,550 ¿Cuántos puntos tendría por esto? 52 00:02:58,330 --> 00:02:59,169 Infinitos puntos. 53 00:02:59,509 --> 00:02:59,830 ¡Vamos! 54 00:03:03,050 --> 00:03:04,909 ¿En mitad de clase? ¿Por qué? 55 00:03:08,919 --> 00:03:09,759 Tengo la herida. 56 00:03:10,520 --> 00:03:11,740 No puedo estar así en clase 57 00:03:11,740 --> 00:03:21,590 Pues venga 58 00:03:21,590 --> 00:03:23,250 Guardamos aquí en palabras 59 00:03:23,250 --> 00:03:24,189 De i 60 00:03:24,189 --> 00:03:26,610 La palabrita leída 61 00:03:26,610 --> 00:03:33,169 Vale, seguimos 62 00:03:33,169 --> 00:03:37,189 Vale, seguimos pero ya sabemos 63 00:03:37,189 --> 00:03:39,110 Que cuando ejecutemos esto va a salir mal 64 00:03:39,110 --> 00:03:41,409 Porque primero estamos leyendo un número 65 00:03:41,409 --> 00:03:43,129 Y luego lo siguiente que leemos 66 00:03:43,129 --> 00:03:43,810 Es una palabra 67 00:03:43,810 --> 00:03:46,930 Eso, entonces vamos a poner aquí 68 00:03:46,930 --> 00:03:49,129 y así ya 69 00:03:49,129 --> 00:03:51,729 nos ahorramos el 70 00:03:51,729 --> 00:03:54,069 uy, que no me funciona, ah, por esto lo pongo 71 00:03:54,069 --> 00:03:54,789 pues nos lo ahorramos 72 00:03:54,789 --> 00:03:57,909 vale, ahora ya a partir de aquí, esto es lo automático 73 00:03:57,909 --> 00:03:59,849 ahora ya a partir de aquí es lo que tenemos que pensar 74 00:03:59,849 --> 00:04:01,370 que es, vamos a ver 75 00:04:01,370 --> 00:04:03,969 tenemos que las palabras que se 76 00:04:03,969 --> 00:04:04,590 repitan 77 00:04:04,590 --> 00:04:08,210 eliminarlas 78 00:04:08,210 --> 00:04:09,590 ya, pero eso que significa 79 00:04:09,590 --> 00:04:11,930 pues vamos a crear un array 80 00:04:11,930 --> 00:04:13,669 vamos a crear otro array 81 00:04:13,669 --> 00:04:16,029 donde copiemos solamente 82 00:04:16,029 --> 00:04:21,310 ¿Pero a qué baño te has ido? 83 00:04:27,310 --> 00:04:35,189 A ver, no os insultéis 84 00:04:35,189 --> 00:04:36,449 No digáis burradas 85 00:04:36,449 --> 00:04:38,110 Trataos bien, por Dios 86 00:04:38,110 --> 00:04:42,430 Venga 87 00:04:42,430 --> 00:04:46,509 yo nunca había tenido 88 00:04:46,509 --> 00:04:48,589 una clase de segundo de la ESO 89 00:04:48,589 --> 00:04:50,329 como esta, jamás 90 00:04:50,329 --> 00:04:54,670 no, no te creas, están todos muy tontos 91 00:04:54,670 --> 00:04:55,790 pero casi todos 92 00:04:55,790 --> 00:04:58,050 hasta los de 40 93 00:04:58,050 --> 00:05:00,069 están también en esta clase 94 00:05:00,069 --> 00:05:01,089 medio tontos 95 00:05:01,089 --> 00:05:06,069 en fin, bueno, tú no tienes 40 todavía 96 00:05:12,430 --> 00:05:29,649 Bueno, venga, entonces, ahora ya esto en realidad no es tan fácil. Vale, vamos a prepararnos. Primero, la caja para guardar las palabras. La primera pregunta que nos surge es ¿de cuántas posiciones? Ostras, pues no lo sé porque a priori no sé cuántas palabras tengo repetidas. 97 00:05:29,649 --> 00:05:44,709 Entonces, vamos a hacernos un primer array para guardar las palabras sin sus repeticiones con un tamaño n, porque sabemos que va a caber seguro, ¿vale? Sabemos que van a caber seguro. 98 00:05:44,709 --> 00:05:46,430 Venga, pues entonces 99 00:05:46,430 --> 00:05:48,350 Nos podemos hacer 100 00:05:48,350 --> 00:05:50,029 Un array 101 00:05:50,029 --> 00:05:52,209 Para las palabras repetidas 102 00:05:52,209 --> 00:05:54,850 Palabras sin repetir 103 00:05:54,850 --> 00:05:57,050 Palabras sin repetir 104 00:05:57,050 --> 00:05:59,250 Claro, aquí vamos a guardar 105 00:05:59,250 --> 00:06:02,089 Una única copia 106 00:06:02,089 --> 00:06:04,310 O sea, ya las palabras sin repeticiones 107 00:06:04,310 --> 00:06:06,730 Pero esas tienen que haber palabras 108 00:06:06,730 --> 00:06:08,009 Hay que guardarlas repetidas 109 00:06:08,009 --> 00:06:09,649 No, pero eso no lo veo 110 00:06:09,649 --> 00:06:11,970 A ver, vamos a ver, es que no he leído bien el enunciado 111 00:06:11,970 --> 00:06:14,790 O sea, crear un array sin duplicados 112 00:06:14,790 --> 00:06:16,750 Eso, claro 113 00:06:16,750 --> 00:06:19,490 Es que pensaba que era dejar el primer array sin duplicados 114 00:06:19,490 --> 00:06:20,689 No, no, no 115 00:06:20,689 --> 00:06:23,449 Bueno, sí, el resultado final debería ser ese 116 00:06:23,449 --> 00:06:25,430 Pero es que sobre ese primer array 117 00:06:25,430 --> 00:06:27,769 No podemos eliminar las cosas 118 00:06:27,769 --> 00:06:29,170 Porque el array no se puede encoger 119 00:06:29,170 --> 00:06:31,029 Entonces, uno temporal hay que hacer 120 00:06:31,029 --> 00:06:32,829 Entonces, va a ser este 121 00:06:32,829 --> 00:06:34,269 Y luego ya sustituimos uno por el otro 122 00:06:34,269 --> 00:06:35,050 Y ya está, ¿vale? 123 00:06:35,089 --> 00:06:36,970 Entonces, bueno, quizá el nombre es muy largo 124 00:06:36,970 --> 00:06:38,189 Podríamos haberlo llamado auxiliar 125 00:06:38,189 --> 00:06:40,850 Y a lo mejor el nombre nos queda más cortito 126 00:06:40,850 --> 00:06:42,310 y no tenemos que arrastrar. 127 00:06:42,410 --> 00:06:44,350 Venga, vamos a llamarlo array auxiliar. 128 00:06:44,709 --> 00:06:47,250 Array auxiliar para copiar las palabras 129 00:06:47,250 --> 00:06:48,629 ya sin sus duplicados. 130 00:06:51,189 --> 00:06:51,629 Relax. 131 00:06:52,230 --> 00:06:53,610 Este array auxiliar, 132 00:06:54,329 --> 00:06:56,129 ¿de cuánto lo voy a hacer? 133 00:06:56,269 --> 00:06:57,449 En principio no lo sé, 134 00:06:58,110 --> 00:06:59,589 pero sé que como muchísimo, 135 00:06:59,709 --> 00:07:01,029 como muchísimo va a haber 136 00:07:01,029 --> 00:07:03,089 n mayúscula palabras sin duplicados. 137 00:07:03,209 --> 00:07:04,029 Como muchísimo. 138 00:07:04,670 --> 00:07:05,529 Luego lo hacemos de n. 139 00:07:06,430 --> 00:07:07,949 Lo que pasa es que lo que va a ocurrir al final 140 00:07:07,949 --> 00:07:09,990 es que algunas de sus últimas posiciones 141 00:07:09,990 --> 00:07:12,189 estén vacías, ¿vale? 142 00:07:12,689 --> 00:07:14,790 Vale, pues entonces ahora ya sí que nos planteamos 143 00:07:14,790 --> 00:07:16,709 el algoritmo de, vamos 144 00:07:16,709 --> 00:07:18,709 recorriendo el primer, vamos 145 00:07:18,709 --> 00:07:20,629 palabra por palabra, entonces 146 00:07:20,629 --> 00:07:22,029 esa palabra 147 00:07:22,029 --> 00:07:24,750 está ya en 148 00:07:24,750 --> 00:07:26,910 el array auxiliar 149 00:07:26,910 --> 00:07:28,389 si está ya no la copio 150 00:07:28,389 --> 00:07:30,529 y si no está la copio, esa podría ser 151 00:07:30,529 --> 00:07:32,209 una primera manera de planteárselo, ¿no? 152 00:07:33,250 --> 00:07:33,689 ¿Vale? 153 00:07:34,569 --> 00:07:36,389 Uno lo puede pensar de muchas maneras 154 00:07:36,389 --> 00:07:38,430 pero una forma puede ser 155 00:07:38,430 --> 00:08:00,930 Yo cojo la primera palabra, la primera la voy a copiar seguro, claro. Cada palabra que coja, miro a ver si está en el array, miro a ver si está. Si está, ya no la copio, porque es un duplicado, entonces ya no la copio. Y si no está, la copio. Esa podría ser la primera idea de algoritmo que nos da, ¿no? Recorrer el primer array con cada palabra. Si está en el segundo, no la copio. Y si no está, la copio. 156 00:08:00,930 --> 00:08:11,689 A ver, lo que te dice esto es 157 00:08:11,689 --> 00:08:13,829 Tú tienes 158 00:08:13,829 --> 00:08:18,569 Una RAI con palabrejas 159 00:08:18,569 --> 00:08:19,790 ¿Vale? 160 00:08:22,569 --> 00:08:24,089 Entonces, algunas de estas palabras 161 00:08:24,089 --> 00:08:25,370 Pueden estar repetidas, ¿verdad? 162 00:08:25,470 --> 00:08:26,970 Aquí podemos tener esta 163 00:08:26,970 --> 00:08:30,569 Y resulta que aquí tengo esta misma palabra 164 00:08:30,569 --> 00:08:32,350 Aunque aquí tenga otra 165 00:08:32,350 --> 00:08:35,029 y aquí tenga otra. 166 00:08:36,649 --> 00:08:37,070 ¿Vale? 167 00:08:37,409 --> 00:08:39,590 Entonces, sobre este array 168 00:08:39,590 --> 00:08:41,889 no podemos el x, x 169 00:08:41,889 --> 00:08:43,610 sacarlo así a mogollón, 170 00:08:44,169 --> 00:08:45,570 subir para arriba y eliminar 171 00:08:45,570 --> 00:08:47,590 esta posición. Esas cosas no se hacen. Este array 172 00:08:47,590 --> 00:08:49,490 una vez creado tiene las cuatro posiciones 173 00:08:49,490 --> 00:08:51,110 y en las cuatro posiciones se queda. 174 00:08:51,629 --> 00:08:52,549 No se puede hacer nada más. 175 00:08:53,250 --> 00:08:55,370 Entonces, si queremos, si el resultado 176 00:08:55,370 --> 00:08:57,470 final va a ser un array más pequeñito 177 00:08:57,470 --> 00:08:59,690 porque va a tener menos palabras, 178 00:09:00,409 --> 00:09:01,529 pues va a tener que ser 179 00:09:01,529 --> 00:09:04,250 una raya auxiliar, una raya auxiliar que yo voy a construir 180 00:09:04,250 --> 00:09:07,409 y luego ya nos podemos plantearlo del otro día 181 00:09:07,409 --> 00:09:10,129 cuando ya tenga mi array definitivo sustituyo el original 182 00:09:10,129 --> 00:09:13,710 por el definitivo, pero este no le puedo cambiar 183 00:09:13,710 --> 00:09:16,370 las posiciones, las cuatro que tiene van a ser las cuatro 184 00:09:16,370 --> 00:09:18,470 que tiene, porque la array es una estructura estática 185 00:09:18,470 --> 00:09:21,269 vale, pues la idea que nos hemos planteado 186 00:09:21,269 --> 00:09:25,850 uno lo podría pensar de otra manera, vamos a hacernos una raya auxiliar 187 00:09:25,850 --> 00:09:30,169 una raya auxiliar 188 00:09:30,169 --> 00:09:33,470 con la misma cantidad de posiciones. 189 00:09:34,629 --> 00:09:36,750 Y ahora, que este es el aus. 190 00:09:37,269 --> 00:09:38,549 Nos vamos palabra por palabra. 191 00:09:38,710 --> 00:09:39,309 Cada palabra. 192 00:09:41,559 --> 00:09:43,659 ¿Esta palabra está ya en este array? 193 00:09:44,019 --> 00:09:44,759 No está. 194 00:09:45,120 --> 00:09:47,559 Pues la copio en la que toque, que es la primera. 195 00:09:48,320 --> 00:09:49,559 Y ya está, me voy a la siguiente. 196 00:09:50,460 --> 00:09:52,259 ¿Esta palabra está ya en este array? 197 00:09:52,460 --> 00:09:53,159 No está. 198 00:09:53,860 --> 00:09:55,740 Pues la copio en la posición que toque. 199 00:09:56,360 --> 00:09:56,840 Sigo. 200 00:09:57,200 --> 00:09:59,299 ¿Esta palabra está ya en este array? 201 00:09:59,620 --> 00:10:00,460 Sí está. 202 00:10:00,460 --> 00:10:02,179 Pues no la copio, me la salto 203 00:10:02,179 --> 00:10:04,659 ¿Esta palabra está ya en este array? 204 00:10:04,799 --> 00:10:06,740 No, pues la copio 205 00:10:06,740 --> 00:10:09,139 Ya he terminado 206 00:10:09,139 --> 00:10:10,600 Este array 207 00:10:10,600 --> 00:10:12,279 Le han quedado unas posiciones sobrantes 208 00:10:12,279 --> 00:10:14,299 ¿Vale? Pero entonces ya 209 00:10:14,299 --> 00:10:16,480 Recortar el array, no podemos recortarlo 210 00:10:16,480 --> 00:10:18,559 A este mismo array 211 00:10:18,559 --> 00:10:19,740 No le podemos recortar 212 00:10:19,740 --> 00:10:21,759 Pero podemos ya crear uno 213 00:10:21,759 --> 00:10:24,600 Con el número de posiciones que se han rellenado 214 00:10:24,600 --> 00:10:25,480 De forma efectiva 215 00:10:25,480 --> 00:10:28,039 Bueno, creamos uno 216 00:10:28,039 --> 00:10:30,399 Y ahora ya copiamos 217 00:10:30,399 --> 00:10:32,379 esto en este y se acabó. Y ese es el definitivo. 218 00:10:33,379 --> 00:10:35,519 Sí, pero ¿cómo sabes 219 00:10:35,519 --> 00:10:37,559 cuáles han sido rellenadas? 220 00:10:38,460 --> 00:10:39,759 Bueno, o llevas un contador 221 00:10:39,759 --> 00:10:42,419 o la última 222 00:10:42,419 --> 00:10:44,019 que rellenaste o una vez que vayamos 223 00:10:44,019 --> 00:10:46,019 construyendo el código, vemos. Pero en última instancia 224 00:10:46,019 --> 00:10:48,100 siempre puedes contar. Cada vez que 225 00:10:48,100 --> 00:10:49,000 asignes, cuentas. 226 00:10:49,279 --> 00:10:52,179 Cada vez que asignes, cuentas. Un contador de cada vez 227 00:10:52,179 --> 00:10:52,700 que asignes. 228 00:10:54,659 --> 00:10:56,399 Entonces, la primera idea que se nos ocurre es esta. 229 00:10:56,659 --> 00:10:58,299 Luego, una vez que vayamos desarrollando el código, 230 00:10:58,460 --> 00:10:59,899 pues igual lo podemos ir simplificando. 231 00:10:59,899 --> 00:11:01,200 pero la primera puede ser esta 232 00:11:01,200 --> 00:11:03,799 me hago un array con la misma cantidad de posiciones 233 00:11:03,799 --> 00:11:06,000 voy una por una, que existe, copio 234 00:11:06,000 --> 00:11:07,960 donde toca, que existe 235 00:11:07,960 --> 00:11:09,639 perdón, que no existe, copio 236 00:11:09,639 --> 00:11:11,139 que existe, no la copio 237 00:11:11,139 --> 00:11:13,500 lo que pasa es que claro, lo de 238 00:11:13,500 --> 00:11:15,960 yo he dicho muy rápidamente que la palabra 239 00:11:15,960 --> 00:11:17,519 está, para ver si la palabra está 240 00:11:17,519 --> 00:11:20,059 a su vez habrá que hacer un recorrido 241 00:11:20,059 --> 00:11:21,279 ¿vale? 242 00:11:22,299 --> 00:11:23,740 bueno, pues programando 243 00:11:23,740 --> 00:11:25,299 todo lo que hemos explicado 244 00:11:25,299 --> 00:11:27,740 todo esto, lo sabemos programar 245 00:11:27,740 --> 00:11:29,860 la mar, todo lo sabemos hacer 246 00:11:29,860 --> 00:11:31,399 no hay nada que no sepamos hacer 247 00:11:31,399 --> 00:11:33,600 pues venga 248 00:11:33,600 --> 00:11:35,720 ya tenemos el aux, que es este 249 00:11:35,720 --> 00:11:37,740 de aquí, el aux 250 00:11:37,740 --> 00:11:39,659 es este, y ahora vamos a 251 00:11:39,659 --> 00:11:41,500 recorrer nuestro primer array 252 00:11:41,500 --> 00:11:43,679 para empezar a hacer esto primero que hemos 253 00:11:43,679 --> 00:11:45,960 dicho, recorremos, copiamos, recorremos, copiamos 254 00:11:45,960 --> 00:11:46,860 pues recorremos 255 00:11:46,860 --> 00:11:50,059 vamos a recorrer y a ver que nos sale de ese recorrido 256 00:11:50,059 --> 00:11:53,750 pues desde igual a 257 00:11:53,750 --> 00:11:55,590 cero, mientras si sea menor que 258 00:11:55,590 --> 00:11:57,649 el tamaño del array palabras 259 00:11:57,649 --> 00:12:02,350 incrementando y 260 00:12:02,350 --> 00:12:05,350 vale, pues que hemos dicho que íbamos a hacer 261 00:12:05,350 --> 00:12:05,830 con 262 00:12:05,830 --> 00:12:09,269 esto de aquí, que hemos dicho 263 00:12:09,269 --> 00:12:11,389 vale, pues para cada iteración 264 00:12:11,389 --> 00:12:15,190 cogíamos la palabra 265 00:12:15,190 --> 00:12:17,210 palabras de i, miramos si 266 00:12:17,210 --> 00:12:18,409 está en el array destino 267 00:12:18,409 --> 00:12:20,590 miramos si está en el array destino 268 00:12:20,590 --> 00:12:22,809 para mirar si está en el array destino 269 00:12:22,809 --> 00:12:25,269 esto es lo que vamos a 270 00:12:25,269 --> 00:12:25,809 hacer ahora 271 00:12:25,809 --> 00:12:29,350 claro, comprobamos si 272 00:12:29,350 --> 00:12:31,429 palabras de i 273 00:12:31,429 --> 00:12:37,179 está en el 274 00:12:37,179 --> 00:12:39,139 array aux. 275 00:12:40,480 --> 00:12:40,960 Vale. 276 00:12:41,360 --> 00:12:43,159 Pues entonces, esto ya es un subcódigo. 277 00:12:43,559 --> 00:12:45,100 Un subcódigo en el que 278 00:12:45,100 --> 00:12:47,080 tenemos que ver si algo pasa 279 00:12:47,080 --> 00:12:48,820 o no pasa. ¿Vale? Es decir, 280 00:12:49,379 --> 00:12:50,759 si palabras de i 281 00:12:50,759 --> 00:12:53,360 están o no están en el array aux. Esto ya es un subcódigo 282 00:12:53,360 --> 00:12:53,919 pequeño. 283 00:12:54,700 --> 00:12:57,179 Claro, esto es un subcódigo pequeño. Entonces, vamos a suponer 284 00:12:57,179 --> 00:12:57,960 que lo hacemos así. 285 00:12:59,500 --> 00:13:00,460 Bueno, pues 286 00:13:00,460 --> 00:13:02,080 asumimos de partida 287 00:13:02,080 --> 00:13:04,000 que está 288 00:13:04,000 --> 00:13:05,399 es igual a false 289 00:13:05,399 --> 00:13:07,879 y ahora nos ponemos a recorrer 290 00:13:07,879 --> 00:13:09,899 en cuanto encontremos 291 00:13:09,899 --> 00:13:12,240 una posición en la que coincide 292 00:13:12,240 --> 00:13:13,220 lo cambiamos 293 00:13:13,220 --> 00:13:15,960 luego si es true, claro, luego estamos 294 00:13:15,960 --> 00:13:17,960 haciendo lo de siempre, boolean está 295 00:13:17,960 --> 00:13:20,059 false, hacemos de partida que está, ahora tenemos que 296 00:13:20,059 --> 00:13:21,259 recorrer el otro array 297 00:13:21,259 --> 00:13:24,120 con otro índice 298 00:13:24,120 --> 00:13:25,840 desde j igual a 0 299 00:13:25,840 --> 00:13:27,639 mientras j sea menor que 300 00:13:27,639 --> 00:13:29,519 aux.length 301 00:13:29,519 --> 00:13:32,750 incrementando j 302 00:13:32,750 --> 00:13:35,009 ahora ya, vamos a ver 303 00:13:35,009 --> 00:13:38,470 Pongo llaves aunque haga más líneas 304 00:13:38,470 --> 00:13:39,649 Para si 305 00:13:39,649 --> 00:13:44,559 Palabras de i resulta 306 00:13:44,559 --> 00:13:45,320 Que es igual 307 00:13:45,320 --> 00:13:47,980 Equals a 308 00:13:47,980 --> 00:13:48,679 Aux j 309 00:13:48,679 --> 00:13:51,220 Aux de j 310 00:13:51,220 --> 00:13:55,899 Está igual a true 311 00:13:55,899 --> 00:13:58,500 Vale, nadie se ha perdido con este trozo de código 312 00:13:58,500 --> 00:13:58,679 ¿No? 313 00:14:00,460 --> 00:14:02,299 Nadie se ha perdido, este trozo de código 314 00:14:02,299 --> 00:14:03,600 Es un código que te dice 315 00:14:03,600 --> 00:14:05,820 Si pasa o no pasa 316 00:14:05,820 --> 00:14:07,960 Que esto, palabras de i 317 00:14:07,960 --> 00:14:09,019 Este es el array aux 318 00:14:09,019 --> 00:14:12,039 entonces asumimos que de partida no está 319 00:14:12,039 --> 00:14:14,120 la palabra, que es esta 320 00:14:14,120 --> 00:14:15,519 palabra es de ahí la que estamos buscando 321 00:14:15,519 --> 00:14:17,720 y ahora vamos una por una 322 00:14:17,720 --> 00:14:19,700 cada una de las posiciones de aux 323 00:14:19,700 --> 00:14:21,299 una por una, cada una de ellas 324 00:14:21,299 --> 00:14:23,960 solo con que una coincida 325 00:14:23,960 --> 00:14:25,139 con la que estamos buscando 326 00:14:25,139 --> 00:14:26,379 es que ya está 327 00:14:26,379 --> 00:14:29,059 y para que este for no se vaya al infinito 328 00:14:29,059 --> 00:14:31,299 perdón, al infinito no, para que no se ejecute 329 00:14:31,299 --> 00:14:33,759 más iteraciones de las necesarias 330 00:14:33,759 --> 00:14:34,840 pues podríamos hacer 331 00:14:34,840 --> 00:14:37,779 mientras yo no haya recorrido 332 00:14:37,779 --> 00:14:39,539 el final y no lo haya encontrado 333 00:14:39,539 --> 00:14:43,080 no, no lo lío, es que 334 00:14:43,080 --> 00:14:44,059 tenéis que ir 335 00:14:44,059 --> 00:14:47,720 claro, tenéis que ir cogiendo 336 00:14:47,720 --> 00:14:48,720 soltura de programación 337 00:14:48,720 --> 00:14:51,779 saber programar es fundamental 338 00:14:51,779 --> 00:14:53,059 incluso ahora 339 00:14:53,059 --> 00:14:54,240 para vosotros 340 00:14:54,240 --> 00:14:56,879 me da igual, chat GPT, me da igual quien sea 341 00:14:56,879 --> 00:14:59,019 necesitáis todavía saber programar 342 00:14:59,019 --> 00:15:00,720 y durante bastante tiempo 343 00:15:00,720 --> 00:15:02,980 vale 344 00:15:02,980 --> 00:15:05,879 a nadie 345 00:15:05,879 --> 00:15:08,240 le hago la angustia 346 00:15:08,240 --> 00:15:10,379 que yo ponga esto, ¿no? O sea, este for se va a parar 347 00:15:10,379 --> 00:15:12,159 en cuanto hemos entrado en el if 348 00:15:12,159 --> 00:15:13,960 una vez, porque ya hemos encontrado la palabra, 349 00:15:14,799 --> 00:15:16,000 está, se vuelve true, 350 00:15:16,440 --> 00:15:17,960 con lo cual no está, se volverá false. 351 00:15:18,759 --> 00:15:20,019 Entonces, al volverse esto 352 00:15:20,019 --> 00:15:22,080 false, esto ya se va a 353 00:15:22,080 --> 00:15:23,740 volver false sí o sí, porque es un and. 354 00:15:24,039 --> 00:15:26,100 Se va a volver false. Luego este bucle 355 00:15:26,100 --> 00:15:27,200 for se va a ejecutar 356 00:15:27,200 --> 00:15:30,080 para todas las posiciones de outs, 357 00:15:30,740 --> 00:15:32,120 pero siempre y cuando 358 00:15:32,120 --> 00:15:34,360 no hayamos 359 00:15:34,360 --> 00:15:35,620 encontrado la palabra todavía. 360 00:15:35,879 --> 00:15:40,559 Porque en cuanto la hayamos encontrado, esta condición se va a volver falsa. 361 00:15:40,980 --> 00:15:41,820 Luego el for ya se para. 362 00:15:41,919 --> 00:15:42,480 Y es lo que queremos. 363 00:15:42,600 --> 00:15:44,019 No queremos que siga comparando con más. 364 00:15:44,659 --> 00:15:46,840 Bueno, pues entonces, ¿qué ocurre? 365 00:15:47,279 --> 00:15:54,820 Ahora ya, si la palabra no está, ¿qué tenemos que hacer? 366 00:15:55,600 --> 00:15:56,039 Copiarla. 367 00:15:56,039 --> 00:15:59,840 Es decir, a algún sitio habrá que asignar palabras de i. 368 00:16:00,519 --> 00:16:02,279 ¿Algún sitio habrá que asignar? 369 00:16:03,679 --> 00:16:05,840 ¿A qué sitio habrá que asignar? 370 00:16:05,879 --> 00:16:07,879 palabras de ahí. ¿Alguna posición 371 00:16:07,879 --> 00:16:09,820 de aux? A la primera de aux 372 00:16:09,820 --> 00:16:11,980 que esté libre. Justo. ¿A cuál? 373 00:16:12,080 --> 00:16:13,740 Aquí nos viene la duda. ¿A qué posición 374 00:16:13,740 --> 00:16:15,740 de aux asignamos? O sea, yo este 375 00:16:15,740 --> 00:16:16,740 for ya le he acabado. 376 00:16:17,860 --> 00:16:20,100 Claro, esto es lo más complicado. Este for ya ha terminado, 377 00:16:20,200 --> 00:16:22,059 este trozo de bucle, este trozo de programa 378 00:16:22,059 --> 00:16:23,860 es un trozo de programa que tiene un uso 379 00:16:23,860 --> 00:16:25,639 muy concreto. Ver si la palabra estaba o no estaba. 380 00:16:25,919 --> 00:16:27,799 Ya está. Ese trozo de código ya 381 00:16:27,799 --> 00:16:29,820 me olvido. Solo servía para eso. Ver si la palabra está 382 00:16:29,820 --> 00:16:31,940 o no está. Vale. Ahora, si la palabra 383 00:16:31,940 --> 00:16:33,679 no está, ¿qué hago con ella? 384 00:16:33,679 --> 00:16:35,879 copiarla en la raya auxiliar 385 00:16:35,879 --> 00:16:37,080 pero en la posición que toque 386 00:16:37,080 --> 00:16:39,220 es decir, si es la 387 00:16:39,220 --> 00:16:41,220 primera palabra que copio 388 00:16:41,220 --> 00:16:43,700 claro, la copiaré en el 0 389 00:16:43,700 --> 00:16:45,480 pero imaginaos que 390 00:16:45,480 --> 00:16:47,820 es la segunda ya, pues la copiaré 391 00:16:47,820 --> 00:16:48,259 en la 1 392 00:16:48,259 --> 00:16:51,700 pero la xx 393 00:16:51,700 --> 00:16:53,179 esta no la copiaré 394 00:16:53,179 --> 00:16:55,580 la zz, ¿en cuál la copiaré? 395 00:16:55,659 --> 00:16:57,039 en la que toque, que es la 2 396 00:16:57,039 --> 00:16:59,519 luego, el i 397 00:16:59,519 --> 00:17:00,899 se va incrementando aquí 398 00:17:00,899 --> 00:17:03,440 pero no se va incrementando a la misma 399 00:17:03,440 --> 00:17:05,380 velocidad aquí, entonces si alguien 400 00:17:05,380 --> 00:17:06,480 tuviera tentaciones 401 00:17:06,480 --> 00:17:08,619 de hacer esto 402 00:17:08,619 --> 00:17:11,279 a contador menos uno, en la posición contador menos uno 403 00:17:11,279 --> 00:17:13,299 claro, si alguien 404 00:17:13,299 --> 00:17:14,880 tuviera la tentación 405 00:17:14,880 --> 00:17:17,319 de ponerlo 406 00:17:17,319 --> 00:17:18,880 así, vale 407 00:17:18,880 --> 00:17:20,599 pues no lo estaría 408 00:17:20,599 --> 00:17:23,440 claro, no lo estaría haciendo bien 409 00:17:23,440 --> 00:17:24,000 porque 410 00:17:24,000 --> 00:17:41,690 este es palabras 411 00:17:41,690 --> 00:17:47,559 y este es aus 412 00:17:47,559 --> 00:17:51,680 vale, entonces 413 00:17:51,680 --> 00:17:54,299 imaginamos que la situación es esta 414 00:17:54,299 --> 00:17:58,579 x, x, y, y, x, x, z, z y x, x. 415 00:17:59,079 --> 00:18:00,440 Imaginaos que la situación es esta. 416 00:18:00,920 --> 00:18:02,160 Entonces, para i igual a 0, 417 00:18:02,640 --> 00:18:04,099 me va a salir que la palabra no está. 418 00:18:04,539 --> 00:18:06,740 Vale, pues se copia en la 0. 419 00:18:07,460 --> 00:18:08,579 Aquí sí que coincidiría, 420 00:18:08,680 --> 00:18:10,700 se copia en la que es la i, ahí sí coincidiría. 421 00:18:11,140 --> 00:18:12,960 Vale, iteración i igual a 1. 422 00:18:13,400 --> 00:18:14,440 Miramos a ver si esta está. 423 00:18:14,579 --> 00:18:16,680 Se hace el trozo de código para mirar si esta está. 424 00:18:16,799 --> 00:18:18,400 Ese código me dirá que no está. 425 00:18:18,859 --> 00:18:20,480 Pues la copio en la 1. 426 00:18:20,779 --> 00:18:22,180 Pues sí, en este caso sí que coincide, 427 00:18:22,180 --> 00:18:23,740 que la copio en la misma en la que está. 428 00:18:24,299 --> 00:18:25,920 Para la iteración, i igual a 2. 429 00:18:27,940 --> 00:18:29,559 Trozo de código para ver si está. 430 00:18:30,259 --> 00:18:31,759 Ah, pues sí, sí que está. 431 00:18:32,319 --> 00:18:32,819 Sí que está. 432 00:18:33,579 --> 00:18:34,420 Luego no la copio. 433 00:18:34,619 --> 00:18:35,519 Vale, ahí no se hace nada. 434 00:18:36,500 --> 00:18:37,839 Iteración i igual a 3. 435 00:18:39,000 --> 00:18:39,400 ZZ. 436 00:18:39,759 --> 00:18:41,759 Se ejecuta el trozo de código para ver si está. 437 00:18:42,019 --> 00:18:42,819 Me dirá, no está. 438 00:18:43,240 --> 00:18:43,920 Pues cópiala. 439 00:18:44,339 --> 00:18:45,720 Pero no se copia en la 3. 440 00:18:45,940 --> 00:18:47,019 No se copia en la 3. 441 00:18:47,740 --> 00:18:47,940 ¿Vale? 442 00:18:47,940 --> 00:18:55,900 Luego, si yo hiciera esto de aquí, esto estaría copiándola en la 3, ¿verdad? 443 00:18:56,420 --> 00:19:00,799 Y no la tengo que copiar en la 3, la tengo que copiar en la que se quedó libre antes. 444 00:19:01,460 --> 00:19:07,259 Luego, el índice de este array paralelo, el índice va por libre. 445 00:19:08,180 --> 00:19:11,740 El índice no es el i, es otro que me tengo que inventar. 446 00:19:12,359 --> 00:19:15,440 Bueno, supongo que lo llamamos pos, por ejemplo. 447 00:19:16,180 --> 00:19:16,740 ¿Vale? 448 00:19:17,180 --> 00:19:17,579 Cero. 449 00:19:17,940 --> 00:19:18,539 Está claro. 450 00:19:19,240 --> 00:19:21,140 Y cada vez que hacemos una copia, 451 00:19:21,319 --> 00:19:23,000 y solo cada vez que hacemos una copia, 452 00:19:23,079 --> 00:19:24,160 lo dejamos incrementado. 453 00:19:26,259 --> 00:19:26,480 ¿Vale? 454 00:19:27,059 --> 00:19:28,400 Pues no podemos usar este i, 455 00:19:28,500 --> 00:19:30,640 porque este i se incrementa una vez por iteración. 456 00:19:31,420 --> 00:19:35,579 Sin embargo, este se incrementa solo cuando se ha hecho una copia. 457 00:19:36,539 --> 00:19:38,200 Luego, como no podemos utilizar este i, 458 00:19:38,319 --> 00:19:40,079 necesitamos una variable índice aparte. 459 00:19:40,940 --> 00:19:43,440 Vale, pues venga, vamos a hacer esa variable índice aparte. 460 00:19:43,500 --> 00:19:45,359 ¿No supiste que el contador lo inicias en menos uno? 461 00:19:45,359 --> 00:19:49,259 No, bueno, en 0 462 00:19:49,259 --> 00:19:50,519 Y lo incrementes después 463 00:19:50,519 --> 00:19:52,000 Claro 464 00:19:52,000 --> 00:19:55,279 Entonces, está claro que necesitamos un contador 465 00:19:55,279 --> 00:20:00,589 Aparte 466 00:20:00,589 --> 00:20:02,250 Este código es 467 00:20:02,250 --> 00:20:04,109 Hemos quedado para ver si la 468 00:20:04,109 --> 00:20:05,549 Está, vale, y ahora 469 00:20:05,549 --> 00:20:10,839 La variable, esta variable 470 00:20:10,839 --> 00:20:11,380 De aquí 471 00:20:11,380 --> 00:20:14,059 Que empieza valiendo 0 472 00:20:14,059 --> 00:20:15,279 Esta variable va a ser 473 00:20:15,279 --> 00:20:16,920 La posición 474 00:20:16,920 --> 00:20:22,700 Posición de aux 475 00:20:22,700 --> 00:20:26,299 donde vamos 476 00:20:26,299 --> 00:20:28,859 a copiar 477 00:20:28,859 --> 00:20:29,460 cada vez. 478 00:20:32,230 --> 00:20:34,369 Entonces, inicialmente en la cero, porque la primera vez 479 00:20:34,369 --> 00:20:35,970 que copiemos va a ser en la cero, está claro. 480 00:20:39,890 --> 00:20:41,009 Vale, pues entonces 481 00:20:41,009 --> 00:20:44,349 ahora ya sí. 482 00:20:51,250 --> 00:20:52,289 ¡Ay, qué sueño! 483 00:20:52,289 --> 00:20:54,430 Si la palabra 484 00:20:54,430 --> 00:20:56,329 no está, palabras 485 00:20:56,329 --> 00:20:57,970 de ahí se copia donde toque 486 00:20:57,970 --> 00:21:00,289 copiarla, donde toca, inicialmente en la 487 00:21:00,289 --> 00:21:02,089 cero. Pero vamos a dejarlo 488 00:21:02,089 --> 00:21:04,230 incrementado para que ya se quede 489 00:21:04,230 --> 00:21:05,130 incrementado una vez 490 00:21:05,130 --> 00:21:07,410 y ya está 491 00:21:07,410 --> 00:21:10,309 hombre 492 00:21:10,309 --> 00:21:12,029 cuando ya has copiado 493 00:21:12,029 --> 00:21:14,450 una, post lo tienes que dejar 494 00:21:14,450 --> 00:21:16,130 incrementado para que la siguiente copia 495 00:21:16,130 --> 00:21:17,269 se haga en la siguiente posición 496 00:21:17,269 --> 00:21:20,690 claro, pero incrementa 497 00:21:20,690 --> 00:21:22,109 solo en el momento de copiar 498 00:21:22,109 --> 00:21:24,490 sin embargo la I se incrementa todo el rato, claro 499 00:21:24,490 --> 00:21:26,529 vale, entonces post 500 00:21:26,529 --> 00:21:28,769 nos viene estupendo, porque post nos está sirviendo 501 00:21:28,769 --> 00:21:30,230 de hecho como contador 502 00:21:30,230 --> 00:21:31,730 de copias 503 00:21:31,730 --> 00:21:33,329 claro 504 00:21:33,329 --> 00:21:35,750 cuando el bucle termine 505 00:21:35,750 --> 00:21:38,049 pos va a tener la cantidad 506 00:21:38,049 --> 00:21:40,069 de posiciones que realmente se han copiado 507 00:21:40,069 --> 00:21:41,710 la cantidad de posiciones que realmente se han copiado 508 00:21:41,710 --> 00:21:43,250 lo va a tener, luego ya nos vale como contado 509 00:21:43,250 --> 00:21:45,609 luego tienes que hacer el tamaño pos más 1 510 00:21:45,609 --> 00:21:48,269 no, pos directamente 511 00:21:48,269 --> 00:21:49,869 porque si se han copiado 3 512 00:21:49,869 --> 00:21:52,410 0, 1 y 2, pos se va a quedar valiendo 3 513 00:21:52,410 --> 00:21:54,450 que es justo la cantidad de veces que se han copiado 514 00:21:54,450 --> 00:21:58,289 claro, entonces ya está 515 00:21:58,289 --> 00:22:00,269 este for va a ir copiando 516 00:22:00,269 --> 00:22:01,990 las palabras que no estén 517 00:22:01,990 --> 00:22:04,529 y ahora cuando este fuera terminado 518 00:22:04,529 --> 00:22:06,369 cuando este fuera terminado 519 00:22:06,369 --> 00:22:08,750 ya tenemos 520 00:22:08,750 --> 00:22:10,849 en aux todas las 521 00:22:10,849 --> 00:22:12,849 palabras copiadas pero le sobra aquí un montón 522 00:22:12,849 --> 00:22:14,309 de espacio al final 523 00:22:14,309 --> 00:22:17,089 vale, le sobra aquí un montón de espacio 524 00:22:17,089 --> 00:22:18,069 entonces 525 00:22:18,069 --> 00:22:20,150 vamos a hacernos un array 526 00:22:20,150 --> 00:22:22,349 aux2 con 527 00:22:22,349 --> 00:22:24,950 número de posiciones las que están realmente copiadas 528 00:22:24,950 --> 00:22:26,890 y copiamos este en este y luego sustituimos este 529 00:22:26,890 --> 00:22:27,170 por el otro 530 00:22:27,170 --> 00:22:31,470 puedes sustituir el primer array 531 00:22:31,470 --> 00:22:33,410 Sí, bueno, efectivamente 532 00:22:33,410 --> 00:22:34,309 No hace falta 533 00:22:34,309 --> 00:22:35,470 Ya el primer array 534 00:22:35,470 --> 00:22:36,750 Que ya no lo queremos para nada 535 00:22:36,750 --> 00:22:39,230 El primer array que se llamaba palabras 536 00:22:39,230 --> 00:22:41,349 Pues en palabras vamos a hacer 537 00:22:41,349 --> 00:22:42,410 Un nuevo array 538 00:22:42,410 --> 00:22:44,970 Solamente con esas posiciones 539 00:22:44,970 --> 00:22:48,059 Este 540 00:22:48,059 --> 00:22:50,400 Y ahora ya copiamos 541 00:22:50,400 --> 00:22:52,359 El auxiliar en ese 542 00:22:52,359 --> 00:23:06,160 Asignamos a palabras de i 543 00:23:06,160 --> 00:23:10,819 Auxiliar de i 544 00:23:10,819 --> 00:23:16,829 Y listo 545 00:23:16,829 --> 00:23:17,950 Y ahora mostramos. 546 00:23:24,339 --> 00:23:25,339 Uy, ¿qué hago yo? 547 00:23:29,180 --> 00:23:30,559 Esto es para mostrar. 548 00:23:34,190 --> 00:23:38,910 Vamos a ver si esta RAID realmente ya tiene las palabras sin duplicar. 549 00:23:44,259 --> 00:23:49,519 Print lo voy a poner en línea para que se vea mejor. 550 00:23:52,710 --> 00:23:52,930 ¡Hala! 551 00:23:53,589 --> 00:23:54,069 Ahí. 552 00:24:01,519 --> 00:24:02,940 Bueno, vamos a revisar el programa entero. 553 00:24:02,940 --> 00:24:03,839 A ver si tiene sentido. 554 00:24:04,539 --> 00:24:05,720 ¿Por qué pone palabras más comillas? 555 00:24:05,940 --> 00:24:07,339 Aquí valdría palabra... 556 00:24:07,339 --> 00:24:09,579 Ay, perdón. Lo que he puesto es 557 00:24:09,579 --> 00:24:11,380 esto mal. Se me ha olvidado el i. 558 00:24:12,519 --> 00:24:13,160 Se me ha olvidado. 559 00:24:13,940 --> 00:24:14,200 Vale. 560 00:24:15,900 --> 00:24:17,680 Pero palabras... 561 00:24:17,680 --> 00:24:19,339 Si pusieras palabras 562 00:24:19,339 --> 00:24:21,460 y el símbolo de la raíz, ya te saldría todo la raíz. 563 00:24:23,299 --> 00:24:24,160 No, no, no. 564 00:24:24,279 --> 00:24:25,259 ¿Pero por qué pones las comillas? 565 00:24:25,579 --> 00:24:27,799 A ver, lo concateno 566 00:24:27,799 --> 00:24:29,700 con esto para que me muestre 567 00:24:29,700 --> 00:24:31,099 las palabras separadas por espacios. 568 00:24:31,819 --> 00:24:33,559 Porque lo he puesto sin el println. 569 00:24:33,740 --> 00:24:35,740 Para que sea en la línea. Así no me sale la consola 570 00:24:35,740 --> 00:24:36,940 tan... 571 00:24:36,940 --> 00:24:40,019 Vale, entonces repasamos 572 00:24:40,019 --> 00:24:40,960 El programa entero 573 00:24:40,960 --> 00:24:43,119 Claro que como siempre 574 00:24:43,119 --> 00:24:44,619 Por parte de esta 575 00:24:44,619 --> 00:24:52,269 Vale, yo creo que la letra tan grande 576 00:24:52,269 --> 00:24:52,809 No hace falta 577 00:24:52,809 --> 00:24:55,890 ¿Así se ve más o menos atrás o no? 578 00:24:58,180 --> 00:24:58,339 Vale 579 00:24:58,339 --> 00:24:59,920 Así más 580 00:24:59,920 --> 00:25:02,799 Para estos dos es mejor 581 00:25:02,799 --> 00:25:03,859 Vale 582 00:25:03,859 --> 00:25:07,539 Porque has metido 583 00:25:07,539 --> 00:25:08,380 Uno dentro de otro 584 00:25:08,380 --> 00:25:09,900 No estaba la llave donde tocaba 585 00:25:09,900 --> 00:25:12,079 Vale, vamos a repasarlo entero 586 00:25:12,079 --> 00:25:25,680 Los programas, insisto por enésima vez, pensadlo siempre modularmente, por partes, vamos resolviendo partes. La primera parte de leer los datos, esa está clara, hemos leído la cantidad de palabras y luego un for para rellenar las palabras, esa primera parte está clara. 587 00:25:25,680 --> 00:25:29,259 Vale, ahora ya ha empezado el algoritmo en sí 588 00:25:29,259 --> 00:25:30,839 Que el algoritmo es 589 00:25:30,839 --> 00:25:32,880 Recorremos el primer array 590 00:25:32,880 --> 00:25:36,319 Para cada palabra de i 591 00:25:36,319 --> 00:25:38,140 Para cada palabra de i 592 00:25:38,140 --> 00:25:40,400 ¿Qué hacemos con cada palabra de i? 593 00:25:40,839 --> 00:25:42,359 Hacemos un trocito de código 594 00:25:42,359 --> 00:25:45,180 Para ver si esa palabra está en el auxiliar 595 00:25:45,180 --> 00:25:47,960 Pues es este trocito de código 596 00:25:47,960 --> 00:25:52,140 Este trocito de código es para ver si esa palabra está en el auxiliar 597 00:25:52,140 --> 00:25:54,759 Vale, una vez que hemos hecho ese trozo de código 598 00:25:54,759 --> 00:25:56,099 parece esta palabra está en el auxiliar 599 00:25:56,099 --> 00:25:58,319 hacemos lo siguiente 600 00:25:58,319 --> 00:25:59,839 que es en el caso de que no esté 601 00:25:59,839 --> 00:26:01,599 la copiamos 602 00:26:01,599 --> 00:26:03,980 la copiamos en la posición que toque 603 00:26:03,980 --> 00:26:04,619 de la auxiliar 604 00:26:04,619 --> 00:26:05,819 inicialmente la 0 605 00:26:05,819 --> 00:26:07,380 y la dejo incrementada para la siguiente 606 00:26:07,380 --> 00:26:09,019 ¿vale? 607 00:26:10,059 --> 00:26:10,500 y 608 00:26:10,500 --> 00:26:15,660 una vez que ya lo tengo 609 00:26:15,660 --> 00:26:16,839 el array original 610 00:26:16,839 --> 00:26:17,599 que ya no me vale 611 00:26:17,599 --> 00:26:18,799 lo sustituyo por 1 612 00:26:18,799 --> 00:26:20,880 con la longitud real 613 00:26:20,880 --> 00:26:22,099 ya sin duplicados 614 00:26:22,099 --> 00:26:24,240 y copio el auxiliar 615 00:26:24,240 --> 00:26:25,940 en el definitivo 616 00:26:25,940 --> 00:26:27,099 Y lo mostramos 617 00:26:27,099 --> 00:26:30,200 Vale, teóricamente esto está bien 618 00:26:30,200 --> 00:26:32,079 Vamos a ver 619 00:26:32,079 --> 00:26:39,859 Vamos a introducir 620 00:26:39,859 --> 00:26:41,720 Cinco palabras 621 00:26:41,720 --> 00:26:43,839 Venga 622 00:26:43,839 --> 00:26:52,809 Venga, con dos duplicados 623 00:26:52,809 --> 00:26:55,470 El hola y adiós están duplicados 624 00:26:55,470 --> 00:26:56,549 Entonces 625 00:26:56,549 --> 00:26:59,029 Solamente hola, adiós y qué 626 00:26:59,029 --> 00:27:00,450 Enter 627 00:27:00,450 --> 00:27:03,089 Hola, adiós y qué 628 00:27:03,089 --> 00:27:04,109 ¿Vale? 629 00:27:09,079 --> 00:27:10,119 Ha eliminado 630 00:27:10,119 --> 00:27:11,319 Los últimos duplicados 631 00:27:11,319 --> 00:27:29,509 vale, si probamos por ejemplo 632 00:27:29,509 --> 00:27:30,710 de tal forma que la 633 00:27:30,710 --> 00:27:34,069 xx 634 00:27:34,069 --> 00:27:34,910 y y 635 00:27:34,910 --> 00:27:37,369 xx, zz 636 00:27:37,369 --> 00:27:41,630 vamos a hacer otro caso de prueba 637 00:27:41,630 --> 00:27:43,509 4 638 00:27:43,509 --> 00:27:45,349 xx 639 00:27:45,349 --> 00:27:46,470 y y 640 00:27:46,470 --> 00:27:52,230 ah, que me falta otra 641 00:27:52,230 --> 00:27:54,269 y bb 642 00:27:54,269 --> 00:27:56,829 X, X, Y, Y, B, B 643 00:27:56,829 --> 00:27:57,670 ¿Vale? 644 00:27:59,170 --> 00:28:00,430 Parece que los está eliminando 645 00:28:00,430 --> 00:28:01,430 ¿No? 646 00:28:10,140 --> 00:28:11,400 Ya, ya 647 00:28:11,400 --> 00:28:12,400 Es que 648 00:28:12,400 --> 00:28:15,339 A ver 649 00:28:15,339 --> 00:28:19,319 A ver, este es el que recorre 650 00:28:19,319 --> 00:28:21,339 Que tiene, pues bueno, este trozo de código 651 00:28:21,339 --> 00:28:22,299 Para hacer esto 652 00:28:22,299 --> 00:28:26,119 Vale 653 00:28:26,119 --> 00:28:29,180 Pero a ver, se supone que vosotros estáis 654 00:28:29,180 --> 00:28:31,259 Procesando mentalmente, le veis que escribís 655 00:28:31,259 --> 00:28:33,420 O sea que no estáis copiando directamente sin pensar 656 00:28:33,420 --> 00:28:34,619 ¿No? 657 00:28:35,259 --> 00:28:36,500 Entonces pues tenéis que entender 658 00:28:36,500 --> 00:28:38,220 Dónde cierro las llaves, dónde las abro 659 00:28:38,220 --> 00:28:40,559 No, es que si copiáis sin 660 00:28:40,559 --> 00:28:42,279 Pensar literal 661 00:28:42,279 --> 00:28:45,900 No te funciona 662 00:28:45,900 --> 00:28:48,880 Pues tenéis que ser capaces 663 00:28:48,880 --> 00:28:50,460 De arreglar por qué no funciona