1 00:00:00,000 --> 00:00:02,700 vale, pues entonces es lo mismo 2 00:00:02,700 --> 00:00:04,259 que el anterior 3 00:00:04,259 --> 00:00:06,440 aquí son dos arrays de 12 4 00:00:06,440 --> 00:00:07,320 o de los que sean 5 00:00:07,320 --> 00:00:10,320 y los vamos a mezclar 6 00:00:10,320 --> 00:00:11,359 en otro 7 00:00:11,359 --> 00:00:13,960 pero en lugar de cogerlos de uno en uno 8 00:00:13,960 --> 00:00:15,960 cogemos 3 de uno, 3 de otro 9 00:00:15,960 --> 00:00:17,500 3 de uno, 3 de otro 10 00:00:17,500 --> 00:00:18,800 3 de uno, 3 de otro 11 00:00:18,800 --> 00:00:19,839 vale 12 00:00:19,839 --> 00:00:23,960 no, el 8 lo hicimos ayer 13 00:00:23,960 --> 00:00:25,379 y el 9 14 00:00:25,379 --> 00:00:27,879 es como el 8 que dos arrays 15 00:00:27,879 --> 00:00:29,199 los mezcla en un tercero 16 00:00:29,199 --> 00:00:31,899 Pero el 8 cogía 1 de 1 o 1 de otro 17 00:00:31,899 --> 00:00:33,079 1 de 1 o 1 de otro 18 00:00:33,079 --> 00:00:35,719 Pues este hace lo mismo pero cogiendo 3 de 1 o 3 de otro 19 00:00:35,719 --> 00:00:36,899 3 de 1 o 3 de otro 20 00:00:36,899 --> 00:00:37,640 ¿Vale? 21 00:00:38,579 --> 00:00:41,920 Pues vamos a hacer el 9 22 00:00:41,920 --> 00:00:43,799 Entonces, venga, estábamos aquí 23 00:00:43,799 --> 00:00:44,780 Bueno 24 00:00:44,780 --> 00:00:47,259 Vamos a rellenarlos 25 00:00:47,259 --> 00:00:49,679 Por teclado y en lugar de 26 00:00:49,679 --> 00:00:51,539 2 a raíz de 12, pues vamos a hacer 27 00:00:51,539 --> 00:00:53,219 2 a raíz de 6, sería lo mismo 28 00:00:53,219 --> 00:00:55,560 Lo digo para luego no meter 12 de 1 29 00:00:55,560 --> 00:00:56,759 12 de otro, 24 30 00:00:56,759 --> 00:01:14,159 Vale, pues entonces 31 00:01:14,159 --> 00:01:16,560 Dos arrays de seis posiciones 32 00:01:16,560 --> 00:01:20,319 A ver, estamos haciendo de enteros todo el rato 33 00:01:20,319 --> 00:01:22,659 Pero es que daría igual del tipo de dato que fuera 34 00:01:22,659 --> 00:01:24,159 Porque lo único que los estamos usando 35 00:01:24,159 --> 00:01:26,700 Es para coger los de uno y asignárselos a otro 36 00:01:26,700 --> 00:01:28,439 Me da igual coger string, coger int 37 00:01:28,439 --> 00:01:31,439 De hecho, para que no parezca que solo nos gustan los int 38 00:01:31,439 --> 00:01:33,980 Vamos a hacerlo 39 00:01:33,980 --> 00:01:35,620 Con cadenas 40 00:01:35,620 --> 00:01:39,040 Que no nos asusten los arrays de cadenas 41 00:01:39,040 --> 00:01:44,469 Vale, pues venga, seis 42 00:01:44,469 --> 00:01:50,810 Para no meter ahí tanta cosa. 43 00:01:57,670 --> 00:01:59,069 Mucho ruido hay por aquí fuera. 44 00:02:01,010 --> 00:02:05,430 A las aulas de informática normalmente no se atreven a acercarse. 45 00:02:06,890 --> 00:02:13,210 Porque sois los frikis que pasáis absolutamente de todo lo que no sea estar en el ordenador. 46 00:02:14,289 --> 00:02:15,550 Eso es lo que nos dicen. 47 00:02:15,550 --> 00:02:20,729 Y cumplen el patrón a la perfección 48 00:02:20,729 --> 00:02:39,849 Pues eso es lo que se espera 49 00:02:39,849 --> 00:02:41,990 Que no, me hay de todo 50 00:02:45,550 --> 00:02:47,409 Pero, a ver 51 00:02:47,409 --> 00:02:49,770 Bueno, a ver 52 00:02:49,770 --> 00:02:51,530 No 53 00:02:51,530 --> 00:02:53,370 Le he dado a pausar 54 00:02:53,370 --> 00:02:55,210 Le he dado a pausar 55 00:02:55,210 --> 00:02:56,509 Que luego decís, nos ha llamado Friki 56 00:02:56,509 --> 00:02:57,849 Y me denunciáis 57 00:02:57,849 --> 00:03:06,990 Madre mía, pues tenéis material ahí 58 00:03:06,990 --> 00:03:08,389 Para denunciar 59 00:03:08,389 --> 00:03:10,069 Bueno 60 00:03:10,069 --> 00:03:12,289 A ver, entonces 61 00:03:12,289 --> 00:03:13,610 Dos arrays de seis posiciones 62 00:03:13,610 --> 00:03:16,050 ahora, vamos a hacer un array 63 00:03:16,050 --> 00:03:17,990 con el doble, porque vamos a ir 64 00:03:17,990 --> 00:03:19,830 cogiendo 3 de uno, 3 de otro, 3 de uno 65 00:03:19,830 --> 00:03:22,009 3 de otro, por eso he cogido múltiplo 66 00:03:22,009 --> 00:03:24,110 de 3, 12 es que era mucho 67 00:03:24,110 --> 00:03:25,789 pues bueno, he cogido múltiplo de 3 68 00:03:25,789 --> 00:03:27,949 para que case bien, 3 de uno, 3 de otro 69 00:03:27,949 --> 00:03:30,370 entonces, el array resultante 70 00:03:30,370 --> 00:03:33,150 el array resultado 71 00:03:33,150 --> 00:03:35,330 será de 12 72 00:03:35,330 --> 00:03:42,400 podríamos generalizar esto 73 00:03:42,400 --> 00:03:43,199 poniendo aquí 74 00:03:43,199 --> 00:03:46,240 un n que hemos leído antes 75 00:03:46,240 --> 00:03:48,120 por teclado y entonces aquí pondríamos 76 00:03:48,120 --> 00:03:48,939 2 por n 77 00:03:48,939 --> 00:03:51,240 pondríamos 2 por n 78 00:03:51,240 --> 00:03:54,280 bueno, pues entonces 79 00:03:54,280 --> 00:03:56,560 ahora, lo mismo que ayer 80 00:03:56,560 --> 00:03:58,379 ayer íbamos 81 00:03:58,379 --> 00:03:59,439 recorriendo 82 00:03:59,439 --> 00:04:02,020 las 6 posiciones 83 00:04:02,020 --> 00:04:03,259 de los primeros arrays 84 00:04:03,259 --> 00:04:06,560 y en cada posición rellenábamos 85 00:04:06,560 --> 00:04:08,599 las 3 86 00:04:08,599 --> 00:04:09,259 primeras 87 00:04:09,259 --> 00:04:12,280 del segundo array y las 3 88 00:04:12,280 --> 00:04:14,180 siguientes, entonces tenemos que encontrar 89 00:04:14,180 --> 00:04:16,079 que relación sacamos ahí 90 00:04:16,079 --> 00:04:18,060 para hacer eso, entonces una vez que 91 00:04:18,060 --> 00:04:19,379 se nos ocurre y la veamos 92 00:04:19,379 --> 00:04:22,120 ya será escribir esto de alguna manera 93 00:04:22,120 --> 00:04:24,180 vamos a ver 94 00:04:24,180 --> 00:04:32,420 pero bueno, ¿quién ha bajado esto tanto ahora? 95 00:04:40,810 --> 00:04:41,250 vale 96 00:04:41,250 --> 00:04:44,970 a ver si se nos ocurre 97 00:04:44,970 --> 00:04:49,449 pues porque he dicho, parece que 98 00:04:49,449 --> 00:04:51,670 solo existen arrays de enteros, los arrays pueden ser 99 00:04:51,670 --> 00:04:53,649 de cualquier cosa y como en este caso lo único que vamos a 100 00:04:53,649 --> 00:04:54,230 hacer va a ser 101 00:04:54,230 --> 00:04:57,490 coger de uno para meter en otro, coger de uno 102 00:04:57,490 --> 00:04:59,269 no os da igual que sea un stream, que sea un intento 103 00:04:59,269 --> 00:05:00,689 para que esto 104 00:05:00,689 --> 00:05:02,810 os sea familiar también 105 00:05:02,810 --> 00:05:04,810 ¿te ha convencido la explicación? 106 00:05:04,810 --> 00:05:06,370 vamos, que no seamos tontos 107 00:05:06,370 --> 00:05:08,810 vale, pues a ver 108 00:05:09,470 --> 00:05:15,709 el stream es la vida misma 109 00:05:15,709 --> 00:05:27,329 Venga, a ver qué se nos ocurre 110 00:05:27,329 --> 00:05:31,110 Hombre, algo se nos tendrá que ocurrir, digo yo 111 00:05:31,110 --> 00:05:40,670 Bueno, ya me estás asustando 112 00:05:40,670 --> 00:05:41,850 Igual es demasiado difícil 113 00:05:41,850 --> 00:05:43,990 Yo no lo tengo en mente 114 00:05:43,990 --> 00:05:46,189 Hace mucho tiempo que yo no pienso en esto 115 00:05:46,189 --> 00:05:47,610 pero vamos a ver 116 00:05:47,610 --> 00:05:51,389 vale, entonces 117 00:05:51,389 --> 00:05:53,230 la posición 0 118 00:05:53,230 --> 00:05:55,850 la posición 0 nos va a permitir rellenar 119 00:05:55,850 --> 00:05:57,709 la 0, la 1 120 00:05:57,709 --> 00:05:58,889 y la 2 de este 121 00:05:58,889 --> 00:06:01,930 y la posición 0 de este nos va a permitir 122 00:06:01,930 --> 00:06:03,769 rellenar la 3 123 00:06:03,769 --> 00:06:06,009 la 4 y la 5 de este 124 00:06:06,009 --> 00:06:06,810 ¿vale? 125 00:06:07,829 --> 00:06:10,370 entonces esto empieza a sonar 126 00:06:10,370 --> 00:06:11,829 si en el ejercicio anterior 127 00:06:11,829 --> 00:06:14,129 la posición 128 00:06:14,129 --> 00:06:14,810 I 129 00:06:14,810 --> 00:06:17,790 nos rellenaba 130 00:06:17,790 --> 00:06:19,790 la 2 por i de esta 131 00:06:19,790 --> 00:06:22,490 esta, la posición 1 132 00:06:22,490 --> 00:06:23,589 que nos rellena 133 00:06:23,589 --> 00:06:25,029 la posición 1 nos rellena 134 00:06:25,029 --> 00:06:27,649 la, que pena no tener, de dos colores 135 00:06:27,649 --> 00:06:30,610 la 6, la 7 136 00:06:30,610 --> 00:06:33,970 espera, espera, no, no, perdón, perdón, perdón 137 00:06:33,970 --> 00:06:35,589 que sí, que sí, que sí, perdón, perdón 138 00:06:35,589 --> 00:06:36,730 que sí, sí, ya decía yo 139 00:06:36,730 --> 00:06:39,170 vale, pensaba que se estiraba 140 00:06:39,170 --> 00:06:40,850 entonces nos quedaría un array 141 00:06:40,850 --> 00:06:43,750 de esto multiplicado por 3 posiciones 142 00:06:43,750 --> 00:06:46,670 esto por 3, no, no, no, vale, sí, sí, que lo he interpretado mal 143 00:06:46,670 --> 00:06:54,430 vale, a ver, la 0 se va a la 0 144 00:06:54,430 --> 00:06:58,569 la 1 se va a la 1 y la 2 se va a la 2 145 00:06:58,569 --> 00:07:02,769 de este, pero sin embargo, la 0 de este 146 00:07:02,769 --> 00:07:06,750 se va a la 3, la 1 de este se va a la 4 y la 2 147 00:07:06,750 --> 00:07:10,790 de este se va a la 5, vale, pero para encontrar una regla 148 00:07:10,790 --> 00:07:14,110 tenemos que ver qué pasaría con los siguientes, bueno, pues la 149 00:07:14,110 --> 00:07:16,250 3, 4 y 5 150 00:07:16,250 --> 00:07:18,389 3, 4 y 5 de estas 151 00:07:18,389 --> 00:07:20,470 se van a 6, entonces aquí ya 152 00:07:20,470 --> 00:07:21,730 empezamos a ver 153 00:07:21,730 --> 00:07:24,449 el 2 por i del ejercicio anterior 154 00:07:24,449 --> 00:07:25,750 pues aquí se mapea 155 00:07:25,750 --> 00:07:27,790 2 por 0, 0 156 00:07:27,790 --> 00:07:29,910 2 por 3, 6 157 00:07:29,910 --> 00:07:32,389 entonces la inicial de cada 158 00:07:32,389 --> 00:07:34,269 tanda se mapea a 2 por i 159 00:07:34,269 --> 00:07:36,050 y las siguientes 160 00:07:36,050 --> 00:07:38,470 se mapean tal cual a las siguientes 161 00:07:38,470 --> 00:07:39,310 es decir 162 00:07:39,310 --> 00:07:42,569 cuando estoy en la iteración 163 00:07:42,569 --> 00:07:55,730 cero, cuando estoy en la cero, estoy mapeando la dos por cero, dos por cero más uno y dos 164 00:07:55,730 --> 00:08:03,189 por cero más dos, ¿verdad? Cuando estoy en la cero me voy a la, a esta, a su siguiente 165 00:08:03,189 --> 00:08:11,949 y a la otra. Cuando estoy en la uno también, porque estoy mapeando estas, dos por uno más 166 00:08:11,949 --> 00:08:14,089 1 y 2 por 1 167 00:08:14,089 --> 00:08:15,029 más 2, porque estoy 168 00:08:15,029 --> 00:08:20,269 0, 1, 2. Cuando estoy en la iteración 169 00:08:20,269 --> 00:08:21,110 Ah, vale, vale. 170 00:08:22,329 --> 00:08:23,670 Vale. Bueno. 171 00:08:24,589 --> 00:08:25,949 Ya lo veo. A ver si 172 00:08:25,949 --> 00:08:27,230 lo veis vosotros. 173 00:08:28,089 --> 00:08:29,990 En cada iteración rellenas 3 174 00:08:29,990 --> 00:08:31,990 de golpe. Luego, lo primero que tenemos que 175 00:08:31,990 --> 00:08:33,750 ver es que el bucle 176 00:08:33,750 --> 00:08:35,909 for no va a irse incrementando de 177 00:08:35,909 --> 00:08:38,350 1 en 1, sino que va a ir incrementándose 178 00:08:38,350 --> 00:08:40,169 de 3 en 3. O sea, el bucle 179 00:08:40,169 --> 00:08:42,269 for va a tener 180 00:08:42,269 --> 00:08:44,090 la sentencia 181 00:08:44,090 --> 00:08:46,210 final va a ser i más o igual 3 182 00:08:46,210 --> 00:08:48,110 porque en cada iteración rellenamos 183 00:08:48,110 --> 00:08:50,149 3, luego el 184 00:08:50,149 --> 00:08:51,990 bucle for que va recorriendo, primera 185 00:08:51,990 --> 00:08:54,129 iteración, mueve 3 de 186 00:08:54,129 --> 00:08:56,129 golpe, luego en la siguiente 187 00:08:56,129 --> 00:08:58,029 iteración se tiene que colocar en este 188 00:08:58,029 --> 00:08:59,710 ¿vale? esa es la clave 189 00:08:59,710 --> 00:09:02,029 que el bucle for no va a ir de 1 en 1 190 00:09:02,029 --> 00:09:04,009 sino que va a ir de 3 en 3, primera 191 00:09:04,009 --> 00:09:05,470 iteración rellena estos 3 192 00:09:05,470 --> 00:09:08,090 la siguiente iteración rellena estos 3 193 00:09:08,090 --> 00:09:10,210 así hasta que acabemos 194 00:09:10,210 --> 00:09:12,529 y ahora ya, ¿cuál es rellena? 195 00:09:13,149 --> 00:09:14,269 pues la regla está clara 196 00:09:14,269 --> 00:09:16,870 del primero 197 00:09:16,870 --> 00:09:18,909 va a rellenar el 2 por i 198 00:09:18,909 --> 00:09:21,169 2 por i más 1 y 2 por i más 2 199 00:09:21,169 --> 00:09:23,350 y del segundo bloque va a rellenar 200 00:09:23,350 --> 00:09:25,529 el 2 201 00:09:25,529 --> 00:09:26,690 por i 202 00:09:26,690 --> 00:09:28,169 la regla que nos quede 203 00:09:28,169 --> 00:09:38,600 del primero 204 00:09:38,600 --> 00:09:41,639 3, 4 y 5 van a 6, 7 y 8 205 00:09:41,639 --> 00:09:43,539 entonces del primero lo tenemos claro 206 00:09:43,539 --> 00:09:45,299 en el primero 207 00:09:45,299 --> 00:09:48,220 el i que estemos 208 00:09:48,220 --> 00:09:50,000 se va a ir siempre 209 00:09:50,000 --> 00:09:52,159 en el i que estemos se va a ir a 2 por i 210 00:09:52,159 --> 00:09:55,399 2 por i más 1 211 00:09:55,399 --> 00:09:58,299 y 2 por i más 2 212 00:09:58,299 --> 00:09:59,740 ¿verdad? 213 00:10:00,379 --> 00:10:02,120 da igual en el que estemos, si estamos en el 0 214 00:10:02,120 --> 00:10:04,100 nos vamos a ir a 2 por 0, 0 215 00:10:04,100 --> 00:10:06,080 más 1 y más 2, si estamos en el 3 216 00:10:06,080 --> 00:10:07,700 va a ir a 2 por i 217 00:10:07,700 --> 00:10:10,059 que es 3 218 00:10:10,059 --> 00:10:12,399 o sea el 6 219 00:10:12,399 --> 00:10:14,000 va a ir a este 220 00:10:14,000 --> 00:10:15,379 A este y a este 221 00:10:15,379 --> 00:10:17,779 Entonces, ¿dónde colocamos estos? Está claro 222 00:10:17,779 --> 00:10:19,919 Cada uno se va a ir 223 00:10:19,919 --> 00:10:21,299 Al doble de él 224 00:10:21,299 --> 00:10:23,259 ¿Verdad? 225 00:10:24,840 --> 00:10:25,860 Cada uno se va a ir 226 00:10:25,860 --> 00:10:26,600 Al doble de él 227 00:10:26,600 --> 00:10:28,720 Y ahora 228 00:10:28,720 --> 00:10:31,480 Esto en cuanto al primero 229 00:10:31,480 --> 00:10:33,440 El segundo 230 00:10:33,440 --> 00:10:35,519 El cero se iba 231 00:10:35,519 --> 00:10:36,879 Al cuatro, cinco y seis 232 00:10:36,879 --> 00:10:39,200 No, perdón 233 00:10:39,200 --> 00:10:40,899 El cero se va al tres, cuatro y cinco 234 00:10:40,899 --> 00:10:43,200 El tres 235 00:10:43,200 --> 00:10:43,980 se va 236 00:10:43,980 --> 00:10:47,200 al 9, 10 y 11 237 00:10:47,200 --> 00:10:49,899 entonces, el 0 al 3 238 00:10:49,899 --> 00:10:51,539 entonces, se irá 239 00:10:51,539 --> 00:10:53,519 a su 2 240 00:10:53,519 --> 00:10:54,480 por i 241 00:10:54,480 --> 00:10:57,460 más 1, ¿verdad? 2 por i más 2 242 00:10:57,460 --> 00:10:59,019 porque esto será 243 00:10:59,019 --> 00:11:01,940 2 por i más 1, no, 2 por i más 244 00:11:01,940 --> 00:11:02,840 3 245 00:11:02,840 --> 00:11:05,360 2 por i más 3 246 00:11:05,360 --> 00:11:07,480 porque el 0 se va al 3 247 00:11:07,480 --> 00:11:09,240 2 por i más 3 248 00:11:09,240 --> 00:11:10,879 2 por i más 4 y 2 por i más 5 249 00:11:10,879 --> 00:11:13,779 aquí se iría 250 00:11:13,779 --> 00:11:15,679 ¿Verdad? Vamos a comprobarlo 251 00:11:15,679 --> 00:11:18,460 Para el 1, perdón, para el 3 252 00:11:18,460 --> 00:11:19,580 El 3 se iría 253 00:11:19,580 --> 00:11:21,379 2 por i 254 00:11:21,379 --> 00:11:23,299 Que es 255 00:11:23,299 --> 00:11:27,850 Para i igual a 3 256 00:11:27,850 --> 00:11:29,090 2 por 3, 6 257 00:11:29,090 --> 00:11:30,730 6 más 3, 9 258 00:11:30,730 --> 00:11:32,730 ¿Vale? Justo al 9 259 00:11:32,730 --> 00:11:35,009 Al 9, al 10 y al 8 260 00:11:35,009 --> 00:11:38,700 Vale, pues aquí lo tenemos 261 00:11:38,700 --> 00:11:41,580 Entonces, el bucle for 262 00:11:41,580 --> 00:11:43,899 Va a ir haciendo una parada en 0 263 00:11:43,899 --> 00:11:45,440 Una parada en 3 264 00:11:45,440 --> 00:11:47,480 una parada en 6, una parada en 9 265 00:11:47,480 --> 00:11:49,740 hasta que acabe, va a ir de 3 en 3 266 00:11:49,740 --> 00:11:51,340 el bucle for, aquí, aquí, aquí 267 00:11:51,340 --> 00:11:53,200 y ahora en esas paradas 268 00:11:53,200 --> 00:11:55,460 ¿qué va a hacer? pues las posiciones 269 00:11:55,460 --> 00:11:57,399 i, i más 1 270 00:11:57,399 --> 00:11:58,659 e i más 2 de este 271 00:11:58,659 --> 00:12:00,200 del primero 272 00:12:00,200 --> 00:12:02,659 las posiciones i 273 00:12:02,659 --> 00:12:04,100 i más 1 274 00:12:04,100 --> 00:12:07,179 e i más 2 de este de aquí se van a ir 275 00:12:07,179 --> 00:12:09,360 a la 2 por i, 2 por i más 1 y 2 por i más 2 276 00:12:09,360 --> 00:12:10,919 y las posiciones 277 00:12:10,919 --> 00:12:12,960 i, i más 1 278 00:12:12,960 --> 00:12:15,419 e i más 2 del segundo se van a ir 279 00:12:15,419 --> 00:12:18,539 A la 2 por i más 3, 2 por i más 4 y 2 por i más 5 280 00:12:18,539 --> 00:12:20,000 ¿Vale? 281 00:12:22,940 --> 00:12:23,539 Estas son 282 00:12:23,539 --> 00:12:26,159 La i habrá que asignarla 283 00:12:26,159 --> 00:12:28,299 A la 2 por i, la i más 1 habrá que asignarla 284 00:12:28,299 --> 00:12:29,980 A la 2 por i más 1 y la i más 2 285 00:12:29,980 --> 00:12:32,100 Habrá que asignarla a la 2 por i más 2 286 00:12:32,100 --> 00:12:33,960 Y la i del segundo 287 00:12:33,960 --> 00:12:36,860 Habrá que asignarla al 2 por i más 3 288 00:12:36,860 --> 00:12:38,519 La i más 1 del segundo 289 00:12:38,519 --> 00:12:39,799 Al 2 por i más 4 290 00:12:39,799 --> 00:12:42,340 Y la i de i más 2 291 00:12:42,340 --> 00:12:44,200 Del tercero a la 2 por i más 5 292 00:12:44,200 --> 00:12:46,539 ¿Más o menos? 293 00:12:47,620 --> 00:12:53,320 Sí, vamos a hacer 294 00:12:53,320 --> 00:12:55,059 Más o menos, la idea general 295 00:12:55,059 --> 00:12:57,120 Más o menos, por dónde van los tiros 296 00:12:57,120 --> 00:12:57,919 Más o menos está clara 297 00:12:57,919 --> 00:13:01,039 ¿Veis que como vamos en cada iteración 298 00:13:01,039 --> 00:13:02,259 Copiamos tres de golpe 299 00:13:02,259 --> 00:13:05,039 No tiene sentido que las iteraciones vayan de uno en uno 300 00:13:05,039 --> 00:13:06,940 Porque en cada iteración copiamos 301 00:13:06,940 --> 00:13:07,740 Tres de golpe 302 00:13:07,740 --> 00:13:10,620 Luego las iteraciones van a ir en cero 303 00:13:10,620 --> 00:13:12,299 En tres, en seis 304 00:13:12,299 --> 00:13:14,000 En cada iteración copiamos tres de golpe 305 00:13:14,000 --> 00:13:16,240 Y ahora, en cada iteración, ¿qué hacemos? 306 00:13:16,240 --> 00:13:17,639 cada i 307 00:13:17,639 --> 00:13:20,460 del primer array 308 00:13:20,460 --> 00:13:23,340 lo llevamos al 2 por i del segundo 309 00:13:23,340 --> 00:13:25,240 porque cuando es 0 lo llevamos a 0 310 00:13:25,240 --> 00:13:26,860 cuando es 3 lo llevamos a 6 311 00:13:26,860 --> 00:13:28,679 cuando es 6 lo llevamos a 12 312 00:13:28,679 --> 00:13:30,679 entonces está claro, cada i 313 00:13:30,679 --> 00:13:31,960 se va a 2 por i 314 00:13:31,960 --> 00:13:34,879 y luego sus consecutivos, los demás es que van en serie 315 00:13:34,879 --> 00:13:35,620 van seguidos 316 00:13:35,620 --> 00:13:39,100 este es más 1, más 2, pues más 1, más 2 317 00:13:39,100 --> 00:13:41,100 y luego en cada iteración 318 00:13:41,100 --> 00:13:42,259 cada i del segundo 319 00:13:42,259 --> 00:13:45,320 se va a 2 por i más 3 320 00:13:45,320 --> 00:13:47,259 ¿Vale? A 2 por i más 3 321 00:13:47,259 --> 00:13:49,379 Y a sus consecutivos 322 00:13:49,379 --> 00:13:51,080 ¿Ves? 323 00:13:51,440 --> 00:13:52,899 Más 1 al más 4 324 00:13:52,899 --> 00:13:54,379 Y más 2 al más 5 325 00:13:54,379 --> 00:13:57,340 Esa es la idea 326 00:13:57,340 --> 00:13:59,179 Vamos a escribirlo 327 00:13:59,179 --> 00:14:00,159 Y vamos a probarlo 328 00:14:00,159 --> 00:14:04,600 A ver 329 00:14:04,600 --> 00:14:06,580 Entonces, ahora vamos a probarlo 330 00:14:06,580 --> 00:14:07,379 A ver esa 331 00:14:07,379 --> 00:14:09,860 Venga, pues entonces 332 00:14:09,860 --> 00:14:12,000 Sí, perdón 333 00:14:12,000 --> 00:14:29,860 Mientras si sea menor 334 00:14:29,860 --> 00:14:32,019 que vamos a poner 335 00:14:32,019 --> 00:14:34,600 el tamaño del array que estamos recorriendo 336 00:14:34,600 --> 00:14:37,539 vamos a hacer una primera versión 337 00:14:37,539 --> 00:14:41,509 no 338 00:14:41,509 --> 00:14:44,049 porque en cada 339 00:14:44,049 --> 00:14:47,450 estamos recorriendo los de arriba 340 00:14:47,450 --> 00:14:49,669 y en cada uno de arriba es que rellenamos 341 00:14:49,669 --> 00:14:51,169 el doble de posiciones de abajo 342 00:14:51,169 --> 00:14:53,190 es decir 343 00:14:53,190 --> 00:14:55,529 por cada iteración de arriba 344 00:14:55,529 --> 00:14:57,889 en la que cogemos 3 de este y 3 de este 345 00:14:57,889 --> 00:14:59,529 rellenamos 6 del de abajo 346 00:14:59,529 --> 00:15:01,470 es como el ejercicio anterior 347 00:15:01,470 --> 00:15:03,529 teníamos una raíz de 5 348 00:15:03,529 --> 00:15:05,149 y el final era de 10 349 00:15:05,149 --> 00:15:07,769 como en cada iteración rellenábamos 350 00:15:07,769 --> 00:15:09,450 dos posiciones del de 10 351 00:15:09,450 --> 00:15:11,110 hacíamos 5 iteraciones 352 00:15:11,110 --> 00:15:13,769 porque en cada iteración 353 00:15:13,769 --> 00:15:15,470 cogíamos una de esta y otra de esta 354 00:15:15,470 --> 00:15:16,330 y rellenábamos dos 355 00:15:16,330 --> 00:15:19,730 entonces estamos recorriendo los de arriba 356 00:15:19,730 --> 00:15:22,009 solo, los estamos recorriendo 357 00:15:22,009 --> 00:15:24,129 a saltos de 3, pero solo los de arriba 358 00:15:24,129 --> 00:15:25,669 y en cada salto 359 00:15:25,669 --> 00:15:27,289 metemos 3 de aquí, 3 de aquí 360 00:15:27,289 --> 00:15:29,429 luego este se está rellenando 361 00:15:29,429 --> 00:15:31,950 Al doble de velocidad que estamos recorriendo 362 00:15:31,950 --> 00:15:32,669 Los de arriba 363 00:15:32,669 --> 00:15:40,620 Venga, pues a ver 364 00:15:40,620 --> 00:15:42,899 Ay, jolines 365 00:15:42,899 --> 00:15:49,000 Vale 366 00:15:49,000 --> 00:15:50,879 Entonces 367 00:15:50,879 --> 00:15:53,179 Esto era 368 00:15:53,179 --> 00:15:55,419 Más igual 3 369 00:15:55,419 --> 00:15:57,879 Porque vamos haciendo saltos de 3 en 3 370 00:15:57,879 --> 00:15:59,700 Porque en cada iteración 371 00:15:59,700 --> 00:16:00,799 Cogemos un pack de 3 372 00:16:00,799 --> 00:16:03,240 Vale, pues que hemos dicho que hacíamos 373 00:16:03,240 --> 00:16:05,639 Vamos a rellenar 374 00:16:05,639 --> 00:16:17,860 La posición de result, 2 por i, esa posición se va a rellenar con el i de números 1, 375 00:16:18,220 --> 00:16:23,980 con el i de números 1, y ahora ya de números 1. 376 00:16:25,039 --> 00:16:30,960 Y las dos consecutivas que vienen detrás, pues con las dos consecutivas que vienen detrás del otro. 377 00:16:30,960 --> 00:16:35,120 La primera va a ser esta 378 00:16:35,120 --> 00:16:36,360 Y 379 00:16:36,360 --> 00:16:38,759 La consecutiva 380 00:16:38,759 --> 00:16:40,320 Que es la más uno de este 381 00:16:40,320 --> 00:16:43,000 Irá con la consecutiva 382 00:16:43,000 --> 00:16:43,740 De este otro 383 00:16:43,740 --> 00:16:47,700 Porque rellenamos tres 384 00:16:47,700 --> 00:16:50,700 Cogemos tres de la raíz 385 00:16:50,700 --> 00:16:52,620 Números uno, la i, la i más uno 386 00:16:52,620 --> 00:16:53,340 Y la i más dos 387 00:16:53,340 --> 00:16:56,620 Y se van a dos por i, dos por i más uno y dos por i más dos 388 00:16:56,620 --> 00:17:08,180 ¿Vale? O sea, estamos rellenando 389 00:17:08,180 --> 00:17:10,460 Cogiendo el i, el i más uno y el i más dos 390 00:17:10,460 --> 00:17:11,319 Los tres consecutivos 391 00:17:11,319 --> 00:17:13,960 Y esos 3 se van a donde toca del array resultado 392 00:17:13,960 --> 00:17:15,039 Entonces 393 00:17:15,039 --> 00:17:17,480 El 0, 1 y 2 394 00:17:17,480 --> 00:17:19,700 De números 1 efectivamente se va 395 00:17:19,700 --> 00:17:21,380 Al 0, 1 y 2 396 00:17:21,380 --> 00:17:22,980 De número de resulta, hasta ahí bien 397 00:17:22,980 --> 00:17:26,099 Pero que pasará con el 3, 4 y 5 398 00:17:26,099 --> 00:17:28,440 Pues el 3, 4 y 5 399 00:17:28,440 --> 00:17:29,220 De números 1 400 00:17:29,220 --> 00:17:29,839 A donde se va 401 00:17:29,839 --> 00:17:31,920 Al 6, 7 y 8 402 00:17:31,920 --> 00:17:33,619 Que es justo donde se tiene que ir 403 00:17:33,619 --> 00:17:35,339 Al 6, 7 y 8 404 00:17:35,339 --> 00:17:38,059 Y sin embargo 405 00:17:38,059 --> 00:17:40,440 El 6, 7 y 8 406 00:17:40,440 --> 00:17:41,640 a donde se va 407 00:17:41,640 --> 00:17:44,539 al 12, 13 y 14 408 00:17:44,539 --> 00:17:46,500 que es donde se tiene que ir, vamos cogiendo 409 00:17:46,500 --> 00:17:47,880 3 consecutivos del i 410 00:17:47,880 --> 00:17:50,460 y se van a la sección 411 00:17:50,460 --> 00:17:51,579 correspondiente del otro 412 00:17:51,579 --> 00:17:54,480 vale, tenemos que rellenar, coger ahora 413 00:17:54,480 --> 00:17:56,019 el pack de 3 del número 2 414 00:17:56,019 --> 00:17:57,599 y este pack de 3 415 00:17:57,599 --> 00:17:59,440 esto se iría 416 00:17:59,440 --> 00:18:01,720 a 417 00:18:01,720 --> 00:18:04,599 2 por i más 3 418 00:18:04,599 --> 00:18:06,319 hemos dicho, justo 419 00:18:06,319 --> 00:18:07,039 es que de hecho 420 00:18:07,039 --> 00:18:10,359 es como tiene que ser porque van 421 00:18:10,359 --> 00:18:11,700 consecutivos a los demás 422 00:18:11,700 --> 00:18:14,619 2 por i más 3 423 00:18:14,619 --> 00:18:15,180 va a ser 424 00:18:15,180 --> 00:18:17,380 números de i 425 00:18:17,380 --> 00:18:21,710 números 2, perdón 426 00:18:21,710 --> 00:18:25,410 ahora de 2 427 00:18:25,410 --> 00:18:27,450 ya estamos rellenando con el otro 428 00:18:27,450 --> 00:18:28,710 2 por i más 4 429 00:18:28,710 --> 00:18:31,170 números 2 de i más 1 430 00:18:31,170 --> 00:18:36,029 y 2 por i más 5 431 00:18:36,029 --> 00:18:38,130 números 2 432 00:18:38,130 --> 00:18:38,970 de i más 2 433 00:18:38,970 --> 00:18:41,890 y a falta 434 00:18:41,890 --> 00:18:43,809 de que nos hayamos equivocado o no hayamos visto 435 00:18:43,809 --> 00:18:49,250 lo que sea, pues estaría 436 00:18:49,250 --> 00:18:56,789 vale, pero a ver, que no es fácil 437 00:18:56,789 --> 00:19:01,369 no es fácil en absoluto, ni siquiera sé si lo hemos 438 00:19:01,369 --> 00:19:04,549 pulido bien, no es fácil, aquí lo más 439 00:19:04,549 --> 00:19:09,589 importante es ver que vamos dando saltos de 3 en 3 440 00:19:09,589 --> 00:19:12,970 en los arrays de arriba, por esto esta sentencia cambia de i más igual 3 441 00:19:12,970 --> 00:19:17,369 y en cada salto rellenamos, veis 3, el i, el i más 1 y el i más 2 442 00:19:17,369 --> 00:19:19,990 o sea, cogemos el i, el i más uno y el i más dos 443 00:19:19,990 --> 00:19:21,470 por eso luego hacemos un salto de tres 444 00:19:21,470 --> 00:19:23,410 porque es que ya hemos cogido el i más uno y el i más dos 445 00:19:23,410 --> 00:19:25,309 por eso saltamos al tres 446 00:19:25,309 --> 00:19:28,170 porque en cada i cogemos no solo el i 447 00:19:28,170 --> 00:19:29,970 sino cogemos su siguiente y el otro 448 00:19:29,970 --> 00:19:32,210 en cada i, por eso damos un salto 449 00:19:32,210 --> 00:19:33,849 de tres para la siguiente iteración 450 00:19:33,849 --> 00:19:35,690 pues en cada i 451 00:19:35,690 --> 00:19:37,950 cogemos tres consecutivos desde i 452 00:19:37,950 --> 00:19:40,009 de números uno y se van a tres 453 00:19:40,009 --> 00:19:41,710 posiciones consecutivas de result 454 00:19:41,710 --> 00:19:44,369 y cogemos los tres consecutivos 455 00:19:44,369 --> 00:19:46,049 de números dos y se van a 456 00:19:46,049 --> 00:19:47,950 tres posiciones consecutivas de result 457 00:19:47,950 --> 00:19:49,509 a las que toquen 458 00:19:49,509 --> 00:19:51,910 y las que tocan ya, pues sí que las hemos sacado 459 00:19:51,910 --> 00:19:53,829 por la misma regla 460 00:19:53,829 --> 00:19:59,630 del ejercicio anterior, aquí como 461 00:19:59,630 --> 00:20:01,450 vamos de tres en tres, cuando ya 462 00:20:01,450 --> 00:20:03,210 hayamos pasado un pack de tres 463 00:20:03,210 --> 00:20:05,569 el i habrá, si el array es de seis 464 00:20:05,569 --> 00:20:07,650 este bucle se va a hacer solamente 465 00:20:07,650 --> 00:20:09,630 dos veces, se va a hacer 466 00:20:09,630 --> 00:20:11,569 para igual a cero, donde vamos a rellenar 467 00:20:11,569 --> 00:20:12,410 cero, uno y dos 468 00:20:12,410 --> 00:20:15,430 de este, y de aquí se van a rellenar 469 00:20:15,430 --> 00:20:17,369 cero, uno, dos, tres, cuatro y cinco 470 00:20:17,369 --> 00:20:19,410 luego saltaremos a tres 471 00:20:19,410 --> 00:20:21,089 Para igual a 3 472 00:20:21,089 --> 00:20:22,769 Se va a rellenar 473 00:20:22,769 --> 00:20:24,670 6, 7, 8, 9, 10 474 00:20:24,670 --> 00:20:27,569 El 7, 8, 9, 10, 11 y 12 475 00:20:27,569 --> 00:20:30,109 No, perdón 476 00:20:30,109 --> 00:20:31,970 El 6, 7, 8, 9, 10 y 11 477 00:20:31,970 --> 00:20:33,829 Porque al raíz de 12 posiciones 478 00:20:33,829 --> 00:20:34,789 Vale 479 00:20:34,789 --> 00:20:36,750 Y se van a rellenar con cuáles 480 00:20:36,750 --> 00:20:39,049 Pues con el 3, 4 y 5 de este 481 00:20:39,049 --> 00:20:40,569 Y con el 3, 4 y 5 de este 482 00:20:40,569 --> 00:20:44,569 En la siguiente 483 00:20:44,569 --> 00:20:47,430 3 ya será 6 484 00:20:47,430 --> 00:20:48,930 Ya no entrará 485 00:20:48,930 --> 00:20:50,670 Porque los a raíz de arriba van de 0 a 5 486 00:20:50,670 --> 00:20:51,730 Ya no entrará 487 00:20:51,730 --> 00:20:56,920 Entonces, vamos a 488 00:20:56,920 --> 00:21:01,049 Me falta pedirlo 489 00:21:01,049 --> 00:21:02,670 Rellenar los arrays, efectivamente 490 00:21:02,670 --> 00:21:05,630 Vale, pues entonces 491 00:21:05,630 --> 00:21:18,529 Vamos a utilizar 492 00:21:18,529 --> 00:21:19,769 El mismo for para 493 00:21:19,769 --> 00:21:21,990 Rellenar los dos 494 00:21:21,990 --> 00:21:34,730 Ponemos 495 00:21:34,730 --> 00:21:36,250 En números 1 496 00:21:36,250 --> 00:21:38,650 De 497 00:21:38,650 --> 00:21:39,369 Y 498 00:21:39,369 --> 00:21:44,099 El scan.nextline 499 00:21:44,680 --> 00:21:47,799 Y 500 00:21:47,799 --> 00:21:56,539 Y elemento del array 501 00:21:56,539 --> 00:21:57,359 Dos 502 00:21:57,359 --> 00:22:01,380 Números dos 503 00:22:01,380 --> 00:22:08,470 Aquí 504 00:22:08,470 --> 00:22:11,710 Bueno, es el mensaje para 505 00:22:11,710 --> 00:22:14,809 Vale, en este array voy a pedir el primero del primero 506 00:22:14,809 --> 00:22:15,369 El primero y el segundo 507 00:22:15,369 --> 00:22:18,930 En el mismo for estoy usando para rellenar los dos 508 00:22:18,930 --> 00:22:20,529 Y ahora ya hago el este 509 00:22:20,529 --> 00:22:22,490 Y me falta mostrarlo 510 00:22:22,490 --> 00:22:23,470 A ver si sea 511 00:22:23,470 --> 00:22:36,619 Pues 512 00:22:36,619 --> 00:22:43,859 Sea menor que result 513 00:22:43,859 --> 00:22:46,460 Punto length 514 00:22:46,460 --> 00:22:55,640 Voy a que lo haga en la misma línea 515 00:22:55,640 --> 00:22:56,740 Que así lo vemos mejor 516 00:22:56,740 --> 00:23:01,619 Result de i 517 00:23:01,619 --> 00:23:02,599 Más 518 00:23:02,599 --> 00:23:03,859 Hay un espacio 519 00:23:03,859 --> 00:23:13,799 Vamos a ejecutarlo 520 00:23:13,799 --> 00:23:15,420 Vamos a poner 521 00:23:15,420 --> 00:23:17,539 Uy, he metido un vacío, pues no me gusta 522 00:23:17,539 --> 00:23:21,670 Vamos a ponerle 523 00:23:21,670 --> 00:23:22,730 Elemento de la raíz 1 524 00:23:22,730 --> 00:23:24,990 Pues 1, 1 525 00:23:24,990 --> 00:23:26,309 Como estáis viendo por cadenas 526 00:23:26,309 --> 00:23:28,589 Elemento de la raíz 2, 2, 2 527 00:23:28,589 --> 00:23:31,670 Aquí voy a poner 1, 1 otra vez 528 00:23:31,670 --> 00:23:32,410 2, 2 529 00:23:32,410 --> 00:23:33,730 Para que se vea 530 00:23:33,730 --> 00:23:35,650 1, 1 531 00:23:35,650 --> 00:23:37,509 2, 2 532 00:23:37,509 --> 00:23:41,089 Entonces el array 1 va a tener 533 00:23:41,089 --> 00:23:43,529 El 1, 1 tres veces 534 00:23:43,529 --> 00:23:47,130 Y luego le voy a poner el 3, 3 535 00:23:47,130 --> 00:23:47,890 Tres veces 536 00:23:47,890 --> 00:23:49,049 A ver si los 537 00:23:49,049 --> 00:23:56,130 4, 3, 3 538 00:23:56,130 --> 00:23:57,529 4, 4 539 00:23:57,529 --> 00:23:59,690 3, 3 540 00:23:59,690 --> 00:24:00,609 4, 4 541 00:24:00,609 --> 00:24:01,950 Vale 542 00:24:01,950 --> 00:24:04,769 Pues efectivamente lo ha insertado 543 00:24:04,769 --> 00:24:07,109 Porque esto eran las tres primeras de la RAI 1 544 00:24:07,109 --> 00:24:09,170 Que le acabo de meter, las tres primeras 545 00:24:09,170 --> 00:24:11,029 Y luego, ¿cuáles ha cogido? 546 00:24:11,170 --> 00:24:12,690 Las tres primeras de la RAI 2 547 00:24:12,690 --> 00:24:14,910 Que son las que he metido, las tres primeras de la RAI 2 548 00:24:14,910 --> 00:24:16,329 Luego, la RAI 3 549 00:24:16,329 --> 00:24:19,089 Tenía después el 3-3 550 00:24:19,089 --> 00:24:21,349 Tres veces 551 00:24:21,349 --> 00:24:22,490 Que es justo lo que ha puesto 552 00:24:22,490 --> 00:24:25,650 Y la RAI 4 tenía tres veces el 4-4 553 00:24:25,650 --> 00:24:28,750 Que es justo lo que ha puesto también 554 00:24:28,750 --> 00:24:38,750 A ver, si tú tienes una cadena 555 00:24:38,750 --> 00:24:39,690 Y no le has metido nada 556 00:24:39,690 --> 00:24:40,869 Pone null 557 00:24:40,869 --> 00:24:44,829 Porque las cadenas son objetos y admiten el valor null dentro 558 00:24:44,829 --> 00:24:47,190 Pero eso es cuando no lo has rellenado con nada 559 00:24:47,190 --> 00:24:55,410 Pero tú has hecho aquí el scanless line 560 00:24:55,410 --> 00:24:59,210 Porque si te pone null 561 00:24:59,210 --> 00:25:01,269 Es porque no se han rellenado esos arrays 562 00:25:01,269 --> 00:25:02,970 Pero en números uno 563 00:25:02,970 --> 00:25:03,710 O en result 564 00:25:03,710 --> 00:25:06,269 Si tú has rellenado los arrays 565 00:25:06,269 --> 00:25:07,210 No te puede poner null 566 00:25:07,210 --> 00:25:10,369 Has rellenado números 1 y números 2 567 00:25:10,369 --> 00:25:12,650 Y luego has hecho la asignación 568 00:25:12,650 --> 00:25:13,450 Correcta, claro 569 00:25:13,450 --> 00:25:16,329 Porque si no result, si no lo has rellenado correctamente 570 00:25:16,329 --> 00:25:17,309 Tendrá null, claro 571 00:25:17,309 --> 00:25:20,190 Es decir, si yo no relleno result 572 00:25:20,190 --> 00:25:22,809 Y trato de mostrar lo que tiene 573 00:25:22,809 --> 00:25:24,470 Imagínate que yo no hago esto 574 00:25:24,470 --> 00:25:25,529 Con lo cual no lo relleno 575 00:25:25,529 --> 00:25:27,470 Pues 576 00:25:27,470 --> 00:25:34,160 Me pone null 577 00:25:34,160 --> 00:25:35,519 Pero porque está sin rellenar 578 00:25:35,519 --> 00:25:39,210 ¿Vale? Pero claro 579 00:25:39,210 --> 00:25:41,569 Yo lo he rellenado con este bucle for 580 00:25:41,569 --> 00:25:45,970 Entonces estás mostrando 581 00:25:45,970 --> 00:25:46,990 No lo sé 582 00:25:46,990 --> 00:25:51,190 Algo 583 00:25:51,190 --> 00:25:52,450 Has cambiado de nombre 584 00:25:52,450 --> 00:25:59,730 Bueno más o menos 585 00:25:59,730 --> 00:26:04,250 Te funciona 586 00:26:14,329 --> 00:26:16,930 bueno pues a ver 587 00:26:16,930 --> 00:26:17,869 no es fácil, claro 588 00:26:17,869 --> 00:26:22,630 entonces si en lugar de ir intercalando 589 00:26:22,630 --> 00:26:23,549 de 4 en 4 590 00:26:23,549 --> 00:26:26,569 en lugar de ir de 3 en 3 591 00:26:26,569 --> 00:26:28,470 fuera de 4 en 4, pues sería cambiar 592 00:26:28,470 --> 00:26:30,029 esto por i más igual 4 593 00:26:30,029 --> 00:26:31,990 y aquí llegar hasta 4 594 00:26:31,990 --> 00:26:38,329 esto se podría generalizar 595 00:26:38,329 --> 00:26:40,650 para ir intercalando de 3 en 3 596 00:26:40,650 --> 00:26:42,470 de 4 en 4, da igual, ya sería muy sencillo 597 00:26:42,470 --> 00:26:46,690 ¿Cuál? ¿Qué parte? 598 00:26:58,269 --> 00:27:00,470 Igual no puedes tenerlo 599 00:27:00,470 --> 00:27:04,789 ¿Qué? 600 00:27:12,410 --> 00:27:13,769 Bueno, a ver 601 00:27:13,769 --> 00:27:17,009 ¿Qué más ejercicios por ahí? 602 00:27:22,039 --> 00:27:37,700 Vale, pues bueno 603 00:27:37,700 --> 00:27:41,960 10, 11 y 12 604 00:27:41,960 --> 00:27:43,420 Habíamos quedado que 605 00:27:43,420 --> 00:27:45,880 Los tratabais de hacer 606 00:27:45,880 --> 00:27:47,359 13 lo hicimos 607 00:27:47,359 --> 00:27:57,019 Venga, vamos a 608 00:27:57,019 --> 00:27:58,720 Complicarnos la vida 609 00:27:58,720 --> 00:28:00,619 Ahora ya un poco más, que necesitamos 610 00:28:00,619 --> 00:28:01,940 El 14 611 00:28:01,940 --> 00:28:04,599 Uy, que está en rojo, qué casualidad 612 00:28:04,599 --> 00:28:06,099 No, no, está en rojo 613 00:28:06,099 --> 00:28:08,740 No, vamos 614 00:28:08,740 --> 00:28:09,240 Es que 615 00:28:09,240 --> 00:28:12,460 Sacáis conclusiones cuando yo os explique 616 00:28:12,460 --> 00:28:14,059 Está en rojo porque le dije a Estefano 617 00:28:14,059 --> 00:28:15,599 Este explícalo un poco mejor 618 00:28:15,599 --> 00:28:16,720 Y se lo puse en rojo 619 00:28:16,720 --> 00:28:20,660 Qué coño es importante 620 00:28:20,660 --> 00:28:21,759 Porque no se entendía nada 621 00:28:21,759 --> 00:28:23,079 Porque Estefano es italiano 622 00:28:23,079 --> 00:28:30,740 Hay que hacerle corrección sintáctica 623 00:28:30,740 --> 00:28:31,880 A sus enunciados 624 00:28:31,880 --> 00:28:32,700 Pero 625 00:28:32,700 --> 00:28:35,500 A ver, que no los pone L 626 00:28:35,500 --> 00:28:36,960 O sea, los ponemos entre los dos 627 00:28:36,960 --> 00:28:41,059 Bueno, a ver 628 00:28:41,059 --> 00:28:43,180 Venga 629 00:28:43,180 --> 00:28:46,200 Aquí sí que vamos a 630 00:28:46,200 --> 00:28:47,920 Incorporar una cosa un poco rara 631 00:28:47,920 --> 00:28:50,859 Bueno, no hace falta todavía 632 00:28:50,859 --> 00:28:51,759 Porque, vale 633 00:28:51,759 --> 00:28:54,759 Venga, declarar un array de 10 elementos enteros 634 00:28:55,099 --> 00:28:58,460 Leemos ocho números y los guardamos 635 00:28:58,460 --> 00:29:00,039 ¿Qué va a ocurrir? 636 00:29:00,099 --> 00:29:02,059 Que dos posiciones abajo 637 00:29:02,059 --> 00:29:03,539 Se nos van a quedar sin inicializar 638 00:29:03,539 --> 00:29:06,140 No pasa nada 639 00:29:06,140 --> 00:29:08,059 Luego vamos a pedir otro número 640 00:29:08,059 --> 00:29:09,099 Y una posición 641 00:29:09,099 --> 00:29:11,460 Pues ese número hay que meterlo en el array 642 00:29:11,460 --> 00:29:12,940 En la posición que me den 643 00:29:12,940 --> 00:29:15,940 Pero desplazando los que estaban hacia abajo 644 00:29:15,940 --> 00:29:17,460 ¿Que va a haber sitio? 645 00:29:17,839 --> 00:29:19,819 Va a haber sitio porque el array 646 00:29:19,819 --> 00:29:21,279 Le caben hasta diez 647 00:29:21,279 --> 00:29:24,460 ¿Ves como por eso 648 00:29:24,460 --> 00:29:25,279 es tan rojo por eso 649 00:29:25,279 --> 00:29:26,000 porque es un enunciado 650 00:29:26,000 --> 00:29:26,900 complicado de entender 651 00:29:26,900 --> 00:29:28,039 no porque tenga 652 00:29:28,039 --> 00:29:29,180 nada que ver con el examen 653 00:29:29,180 --> 00:29:33,279 que va 654 00:29:33,279 --> 00:29:33,839 pero si 655 00:29:33,839 --> 00:29:35,200 tú te crees 656 00:29:35,200 --> 00:29:35,680 que nosotros tenemos 657 00:29:35,680 --> 00:29:36,319 en la cabeza 658 00:29:36,319 --> 00:29:38,240 que va a caer el examen 659 00:29:38,240 --> 00:29:39,019 lo tendremos en la cabeza 660 00:29:39,019 --> 00:29:39,619 la noche antes 661 00:29:39,619 --> 00:29:40,259 en todo caso 662 00:29:40,259 --> 00:29:40,900 ahora no 663 00:29:40,900 --> 00:29:43,680 ni una mujer 664 00:29:43,680 --> 00:29:44,920 si tienes la comisión 665 00:29:44,920 --> 00:29:45,480 de las dos cosas 666 00:29:45,480 --> 00:29:46,200 ya ni te cuento 667 00:29:46,200 --> 00:29:47,640 bueno 668 00:29:47,640 --> 00:29:49,660 a ver 669 00:29:49,660 --> 00:29:50,539 ejemplo 670 00:29:50,539 --> 00:29:52,559 aquí se entiende mejor 671 00:29:52,559 --> 00:29:56,220 este es el array de 8 numeritos 672 00:29:56,220 --> 00:29:57,339 te dicen 673 00:29:57,339 --> 00:29:59,980 inserta el 1 en posición 4 674 00:29:59,980 --> 00:30:01,819 eso significa 675 00:30:01,819 --> 00:30:02,859 insertarlo 676 00:30:02,859 --> 00:30:06,019 en la posición donde está 677 00:30:06,019 --> 00:30:08,259 el 3, porque donde está el 3 es la 4 678 00:30:08,259 --> 00:30:10,019 ¿verdad? es la 0, 1 679 00:30:10,019 --> 00:30:11,059 2, 3 y 4 680 00:30:11,059 --> 00:30:13,880 bueno, pues en lugar de sobrescribir el 3 681 00:30:13,880 --> 00:30:15,559 en lugar de sobrescribirlo 682 00:30:15,559 --> 00:30:18,319 desplazar el 3, 7 683 00:30:18,319 --> 00:30:18,920 8 y 9 684 00:30:18,920 --> 00:30:22,299 abajo una posición para meter el 1 685 00:30:22,299 --> 00:30:23,980 ¿Vale? 686 00:30:28,029 --> 00:30:29,910 Sí, pero es que el ejercicio dice que metas uno 687 00:30:29,910 --> 00:30:32,829 Cabrían hasta dos 688 00:30:32,829 --> 00:30:34,849 Porque el array dice que le quepan diez 689 00:30:34,849 --> 00:30:37,049 Y hemos metido ocho solo 690 00:30:37,049 --> 00:30:39,190 Pero efectivamente 691 00:30:39,190 --> 00:30:41,490 Si tú tratas de meter un tercero 692 00:30:41,490 --> 00:30:42,549 Y desplazar los otros 693 00:30:42,549 --> 00:30:44,410 No puedes 694 00:30:44,410 --> 00:30:46,869 Porque en el array no caben más de los que se han reservado 695 00:30:46,869 --> 00:30:48,130 ¿Vale? 696 00:30:49,230 --> 00:30:50,809 Venga, pues ejercicio catorce 697 00:30:50,809 --> 00:30:51,970 El del examen 698 00:30:51,970 --> 00:30:54,589 Ya no quiero, ya no leí 699 00:30:54,589 --> 00:30:56,369 ¿Qué? 700 00:30:57,130 --> 00:30:58,789 Ya no quiero, ya no leí 701 00:30:58,789 --> 00:31:00,609 ¿Ya no quieres hacerlo? 702 00:31:00,910 --> 00:31:02,150 Ya no leí, ya no quiero 703 00:31:02,150 --> 00:31:03,410 Ay 704 00:31:03,410 --> 00:31:06,750 Ay de verdad 705 00:31:06,750 --> 00:31:08,710 No tenéis lo que hay que tener en esta vida 706 00:31:08,710 --> 00:31:12,829 No tenéis arranque, ni garra 707 00:31:12,829 --> 00:31:14,930 Ni valentía, ni sentido del riesgo 708 00:31:14,930 --> 00:31:16,309 Ni nada de eso 709 00:31:16,309 --> 00:31:20,710 Ni temeridad, ni nada 710 00:31:20,710 --> 00:31:30,529 Hombre 711 00:31:30,529 --> 00:31:32,609 Claro 712 00:31:32,609 --> 00:31:34,230 Obviamente 713 00:31:34,230 --> 00:31:36,910 Y cuando empecé, pues estaría igual que vosotros 714 00:31:36,910 --> 00:31:37,650 O mucho peor 715 00:31:37,650 --> 00:31:40,829 O peor, vale 716 00:31:40,829 --> 00:31:51,609 No se llama vieja, has acertado 717 00:31:51,609 --> 00:31:53,210 Un punto, por eso 718 00:31:53,210 --> 00:31:54,930 Venga 719 00:31:54,930 --> 00:31:57,369 Vamos a ver 720 00:31:57,369 --> 00:31:59,690 Un array de 10 elementos enteros 721 00:31:59,690 --> 00:32:00,029 Venga 722 00:32:00,029 --> 00:32:14,630 Lo vamos a leer 723 00:32:14,630 --> 00:32:15,710 Por teclado 724 00:32:15,710 --> 00:32:18,690 Bueno, a ver, para hacer la prueba 725 00:32:18,690 --> 00:32:20,670 rápida, que es que estamos ya hartos, vamos a 726 00:32:20,670 --> 00:32:22,829 probar ya, directamente por programa 727 00:32:22,829 --> 00:32:23,670 le damos a unos valores 728 00:32:23,670 --> 00:32:26,849 recordáis esto que dijimos ayer, ¿verdad? 729 00:32:27,049 --> 00:32:28,670 que en el momento en el que se declara 730 00:32:28,670 --> 00:32:30,630 un array, y solo en ese momento 731 00:32:30,630 --> 00:32:32,529 solo en el momento en el que se declara 732 00:32:32,529 --> 00:32:34,670 uno puede darle ya unos valores iniciales 733 00:32:35,269 --> 00:32:38,700 bueno, a ver 734 00:32:38,700 --> 00:32:40,640 esto vale para inicializar un array con unos valores 735 00:32:40,640 --> 00:32:42,059 cuando tú quieras hacerlo 736 00:32:42,059 --> 00:32:43,880 o tú quieras hacerlo 737 00:32:43,880 --> 00:32:48,599 a ver 738 00:32:48,599 --> 00:32:50,519 me han dicho que sea de 10 739 00:32:50,519 --> 00:32:51,980 perdón, que 740 00:32:51,980 --> 00:32:55,039 tienes toda la razón, claro, si yo aquí pongo 741 00:32:55,039 --> 00:32:56,700 8, el array se crea con 8 742 00:32:56,700 --> 00:32:58,660 y lo queremos hacer de 10 743 00:32:58,660 --> 00:33:00,759 pero darle solo 8, vale, vale, vale 744 00:33:00,759 --> 00:33:02,319 muy bien visto, muy bien visto 745 00:33:02,319 --> 00:33:05,140 así 746 00:33:05,140 --> 00:33:08,819 new in de 10, pero vamos a rellenar 747 00:33:08,819 --> 00:33:10,619 solo 8 posiciones, efectivamente 748 00:33:10,619 --> 00:33:19,519 menor que 8 749 00:33:19,519 --> 00:33:21,460 en este caso no ponemos números 750 00:33:21,460 --> 00:33:31,640 length, le vamos a 751 00:33:31,640 --> 00:33:33,400 decir, bueno, hay que poner el scanner 752 00:33:33,400 --> 00:33:50,200 Y ahora ya 753 00:33:50,200 --> 00:33:51,420 Leemos directamente 754 00:33:51,420 --> 00:33:54,000 Sin ponerle mensaje y nada 755 00:33:54,000 --> 00:33:55,940 Porque estamos hartos ya de tanto system 756 00:33:55,940 --> 00:34:00,619 Vale 757 00:34:00,619 --> 00:34:04,819 Ah, la hemos rellenado 758 00:34:04,819 --> 00:34:06,640 Ocho solamente 759 00:34:06,640 --> 00:34:09,500 Venga, ahora vamos a decirle 760 00:34:09,500 --> 00:34:10,940 Introduzca un número adicional 761 00:34:10,940 --> 00:34:12,320 Y una posición 762 00:34:12,320 --> 00:34:18,210 Un número extra 763 00:34:18,210 --> 00:34:26,880 Pero serían dos 764 00:34:26,880 --> 00:34:29,599 Sí, número extra y posición 765 00:34:29,599 --> 00:34:30,760 Lo voy a poner por separado 766 00:34:30,760 --> 00:34:32,159 Relax 767 00:34:32,159 --> 00:34:37,969 Y ahora 768 00:34:37,969 --> 00:34:39,630 Introduzca posición 769 00:34:39,630 --> 00:34:44,030 Es que si 770 00:34:44,030 --> 00:34:45,170 Queremos ir muy rápido 771 00:34:45,170 --> 00:34:46,690 Pues nos estrellamos 772 00:34:46,690 --> 00:34:48,750 A ver, posición 773 00:34:48,750 --> 00:34:56,070 Ala 774 00:34:56,070 --> 00:34:57,690 Y ahora ya viene el problema 775 00:34:57,690 --> 00:35:01,289 El problema es 776 00:35:01,289 --> 00:35:03,309 Pues mira, que fácil 777 00:35:03,309 --> 00:35:05,969 Uno hace ala, números, pos 778 00:35:05,969 --> 00:35:07,489 ¿Quieres que lo meta en esa posición? 779 00:35:09,409 --> 00:35:11,369 Pues yo lo meto 780 00:35:11,369 --> 00:35:20,690 Vale, pero esto no es lo que hay que hacer, lógicamente, porque con esto, ¿qué estaríamos haciendo? Estaríamos pisando el numerito correspondiente. 781 00:35:20,690 --> 00:35:21,809 sobre 782 00:35:21,809 --> 00:35:24,809 efectivamente 783 00:35:24,809 --> 00:35:26,329 entonces 784 00:35:26,329 --> 00:35:36,659 vamos a abrir el protocolo 785 00:35:36,659 --> 00:35:38,920 insultos y vejaciones 786 00:35:38,920 --> 00:35:41,239 vale 787 00:35:41,239 --> 00:35:42,639 entonces si esta es la posición 788 00:35:42,639 --> 00:35:44,659 vale 789 00:35:44,659 --> 00:35:45,659 si esta es la posición 790 00:35:45,659 --> 00:35:49,239 y yo asigno directamente 791 00:35:49,239 --> 00:35:50,800 a esta posición pos 792 00:35:50,800 --> 00:35:59,039 el valor pues está claro 793 00:35:59,039 --> 00:36:00,639 que sobrescribo el valor que hay 794 00:36:00,639 --> 00:36:02,960 y ya está, y no quiero eso, lógicamente 795 00:36:02,960 --> 00:36:05,059 lo que queremos es, antes de 796 00:36:05,059 --> 00:36:06,719 escribirlo, antes de escribirlo 797 00:36:06,719 --> 00:36:08,119 pasar este aquí 798 00:36:08,119 --> 00:36:11,099 y este pasarlo aquí, y este pasarlo 799 00:36:11,099 --> 00:36:13,079 a su consecutiva, pasarlo 800 00:36:13,079 --> 00:36:15,260 y cuando ya estén desplazados 801 00:36:15,260 --> 00:36:17,000 ahora ya hago 802 00:36:17,000 --> 00:36:18,780 ya esta sentencia, ahora ya sí 803 00:36:18,780 --> 00:36:20,860 pero esta tendremos que hacerla después 804 00:36:20,860 --> 00:36:22,019 de hacer el desplazamiento 805 00:36:22,019 --> 00:36:25,179 vale, pues ¿cómo haríais el desplazamiento? 806 00:36:25,760 --> 00:36:27,079 venga, hacedlo en 807 00:36:27,079 --> 00:36:28,320 dos minutos 808 00:36:28,320 --> 00:36:33,260 Pues en uno 809 00:36:33,260 --> 00:36:34,679 Háblenlo en uno 810 00:36:34,679 --> 00:36:35,119 Venga 811 00:36:35,119 --> 00:36:37,920 Nos queremos quedar en la penúltima 812 00:36:37,920 --> 00:36:40,119 Nos queremos quedar en la 813 00:36:40,119 --> 00:36:42,400 Penúltima porque lo que 814 00:36:42,400 --> 00:36:43,760 La idea que tenemos es 815 00:36:43,760 --> 00:36:46,840 Para cada iteración, para cada una de estas 816 00:36:46,840 --> 00:36:48,420 Lo que tengo que hacer es 817 00:36:48,420 --> 00:36:50,139 Si esta es la iteración I 818 00:36:50,139 --> 00:36:52,280 Pues a la I más 1 819 00:36:52,280 --> 00:36:53,039 Asignarle I 820 00:36:53,039 --> 00:36:56,199 Cuando I valga esta, a la I más 1 821 00:36:56,199 --> 00:36:57,000 Asignarle I 822 00:36:57,000 --> 00:36:59,579 cuando i valga esta, a la i más 1 823 00:36:59,579 --> 00:37:00,280 asignarle i 824 00:37:00,280 --> 00:37:02,920 entonces me quedo en la penúltima, ¿por qué? 825 00:37:03,000 --> 00:37:05,380 porque cuando esté en la penúltima ya habré hecho la última 826 00:37:05,380 --> 00:37:07,119 el último desplazamiento 827 00:37:07,119 --> 00:37:08,000 a la i más 1, i 828 00:37:08,000 --> 00:37:10,179 esa sería la primera idea que se nos ocurría 829 00:37:10,179 --> 00:37:12,780 se nos ocurriría, ¿verdad? 830 00:37:13,880 --> 00:37:14,340 que es 831 00:37:14,340 --> 00:37:17,900 a la posición números de i más 1 832 00:37:17,900 --> 00:37:21,059 le asigno 833 00:37:21,059 --> 00:37:21,800 números de i 834 00:37:21,800 --> 00:37:25,780 si lo has hecho al revés 835 00:37:25,780 --> 00:37:28,079 espera, espera, espera 836 00:37:28,079 --> 00:37:28,599 Espera, espera. 837 00:37:30,300 --> 00:37:30,780 Espera. 838 00:37:31,800 --> 00:37:32,059 ¿Vale? 839 00:37:32,119 --> 00:37:35,280 Eso sería lo más, lo primero que se nos vendría a la cabeza. 840 00:37:35,940 --> 00:37:36,420 ¿No? 841 00:37:36,500 --> 00:37:37,800 Y veis lo que estamos haciendo, ¿no? 842 00:37:38,679 --> 00:37:42,480 Estamos yendo desde pos, por eso el for empieza aquí, 843 00:37:43,039 --> 00:37:44,539 exactamente en la posición pos. 844 00:37:45,360 --> 00:37:47,900 Pues desde ahí, ¿qué estamos haciendo? 845 00:37:48,639 --> 00:37:50,760 Para cada iteración i, sea la que sea, 846 00:37:51,539 --> 00:37:53,599 a la i más 1 le asigno i. 847 00:37:56,360 --> 00:37:57,320 Esté en la que esté. 848 00:37:57,320 --> 00:37:59,860 cuando i valga esta, a la i más 1 849 00:37:59,860 --> 00:38:00,739 le asigno i 850 00:38:00,739 --> 00:38:03,699 entonces eso parece que estamos 851 00:38:03,699 --> 00:38:06,139 desplazando, entonces una vez que estamos desplazando 852 00:38:06,139 --> 00:38:07,739 ya nos faltaría 853 00:38:07,739 --> 00:38:09,280 ya ha terminado ese for 854 00:38:09,280 --> 00:38:11,699 en el que ya hemos hecho el desplazamiento 855 00:38:11,699 --> 00:38:16,989 pues ya nos faltaría 856 00:38:16,989 --> 00:38:18,449 a esta pos 857 00:38:18,449 --> 00:38:21,090 esta que estaba aquí, a esta pos 858 00:38:21,090 --> 00:38:22,630 ya le asigno el que me han dado 859 00:38:22,630 --> 00:38:24,789 porque los demás los he ido 860 00:38:24,789 --> 00:38:26,409 bajando hacia abajo, se supone 861 00:38:26,409 --> 00:38:28,869 ¿vale? eso es lo primero que se nos 862 00:38:28,869 --> 00:38:32,480 ocurriría, vale 863 00:38:32,480 --> 00:38:34,340 espera, espera, vamos a probarlo 864 00:38:34,340 --> 00:38:35,639 pero 865 00:38:35,639 --> 00:38:37,840 eh 866 00:38:37,840 --> 00:38:40,699 y aquí me falta una llave 867 00:38:40,699 --> 00:38:40,900 ¿no? 868 00:38:42,340 --> 00:38:46,150 sí, vale, entonces en el punto 869 00:38:46,150 --> 00:38:48,090 en el que estamos es, esto 870 00:38:48,090 --> 00:38:50,309 eh, veis que tiene sentido 871 00:38:50,309 --> 00:38:52,110 ¿no? 872 00:38:52,250 --> 00:38:54,269 lo que estamos tratando, al menos tratando 873 00:38:54,269 --> 00:38:56,090 de hacer, es un 874 00:38:56,090 --> 00:38:57,170 for que arranca aquí 875 00:38:57,170 --> 00:39:00,090 y acaba en la 876 00:39:00,090 --> 00:39:01,750 penúltima, acaba en la penúltima 877 00:39:01,750 --> 00:39:04,269 y para cada posición, para cada parada 878 00:39:04,269 --> 00:39:06,170 que hago, a su siguiente 879 00:39:06,170 --> 00:39:07,349 le asigno esa 880 00:39:07,349 --> 00:39:10,110 en cada parada que hago, a su siguiente 881 00:39:10,110 --> 00:39:10,929 le asigno esa 882 00:39:10,929 --> 00:39:13,670 hombre, porque 883 00:39:13,670 --> 00:39:15,829 si me quedara en la última 884 00:39:15,829 --> 00:39:17,130 a su siguiente 885 00:39:17,130 --> 00:39:19,650 le asigno esa, no existe, me diría 886 00:39:19,650 --> 00:39:20,690 Rain de Sbaun, vale 887 00:39:20,690 --> 00:39:23,369 bueno, pues entonces, si nosotros probáramos esto 888 00:39:23,369 --> 00:39:30,639 y vamos a 889 00:39:30,639 --> 00:39:32,159 meter ocho numeritos 890 00:39:32,159 --> 00:39:34,300 uno, dos, tres 891 00:39:34,300 --> 00:39:36,440 4, 5, 6 892 00:39:36,440 --> 00:39:37,960 7 y 8 893 00:39:37,960 --> 00:39:41,039 Se han quedado dos posiciones abajo sin rellenar 894 00:39:41,039 --> 00:39:42,719 Me dice, número extra 895 00:39:42,719 --> 00:39:44,360 ¿Qué vas a meter? Venga, voy a meter 896 00:39:44,360 --> 00:39:47,059 El 10, para que se vea bien 897 00:39:47,059 --> 00:39:48,599 ¿En qué posición lo vas a meter? 898 00:39:48,679 --> 00:39:51,159 Vamos a decirle en la 2 899 00:39:51,159 --> 00:39:52,760 Entonces, si lo metemos en la 2 900 00:39:52,760 --> 00:39:54,059 Si esto funcionara 901 00:39:54,059 --> 00:39:56,460 Bueno, no le he puesto que muestre la raíz 902 00:39:56,460 --> 00:39:57,239 No vamos a poder verlo 903 00:39:57,239 --> 00:39:58,800 Si esto funcionara 904 00:39:58,800 --> 00:40:02,219 El 3 tendría que pasar abajo, el 4 abajo 905 00:40:02,219 --> 00:40:04,280 El 5 abajo y meter ese 906 00:40:04,280 --> 00:40:06,300 numerito 10 después del 2 907 00:40:06,300 --> 00:40:08,579 pero voy a parar 908 00:40:08,579 --> 00:40:10,820 directamente la ejecución porque es que no vamos a verlo 909 00:40:10,820 --> 00:40:12,119 porque no he hecho el for 910 00:40:12,119 --> 00:40:14,500 entonces vamos a hacer el for 911 00:40:14,500 --> 00:40:18,980 int 912 00:40:18,980 --> 00:40:21,239 y igual a 913 00:40:21,239 --> 00:40:23,099 0, mientras si sea menor que 914 00:40:23,099 --> 00:40:24,460 9 voy a poner porque 915 00:40:24,460 --> 00:40:27,440 hemos metido una más, vamos a mostrar 9 posiciones 916 00:40:27,440 --> 00:40:29,440 incrementando 917 00:40:29,440 --> 00:40:30,980 y pues vamos a mostrar 918 00:40:30,980 --> 00:40:35,519 en la misma línea para que se vea 919 00:40:35,519 --> 00:40:38,119 vamos a mostrar números 920 00:40:38,119 --> 00:40:42,750 de i 921 00:40:42,750 --> 00:40:46,190 más espacio 922 00:40:46,190 --> 00:40:49,760 ahora sí que ejecutamos 923 00:40:49,760 --> 00:40:55,199 1, 2, 3, 4, 5, 6 924 00:40:55,199 --> 00:40:56,239 7 y 8 925 00:40:56,239 --> 00:40:58,500 en la posición 926 00:40:58,500 --> 00:41:00,099 número extra, el 11 927 00:41:00,099 --> 00:41:02,099 ¿en qué posición? en la 2 928 00:41:02,099 --> 00:41:04,400 pues 929 00:41:04,400 --> 00:41:06,360 el 11 lo ha metido en la 2 930 00:41:06,360 --> 00:41:08,920 pero lo que ha hecho a partir de ahí 931 00:41:08,920 --> 00:41:09,840 es replicar el 3 932 00:41:09,840 --> 00:41:12,760 en lugar de desplazar, con lo cual algo hemos hecho mal 933 00:41:12,760 --> 00:41:15,539 ¿Te pasa a ti también? 934 00:41:19,739 --> 00:41:20,940 Vale, normal 935 00:41:20,940 --> 00:41:22,260 Entonces, ahora es cuando uno dice 936 00:41:22,260 --> 00:41:25,139 Uy, ¿qué habré hecho yo aquí de raro? 937 00:41:25,579 --> 00:41:26,780 Entonces, se pone a replicar 938 00:41:26,780 --> 00:41:28,000 La ejecución de su código 939 00:41:28,000 --> 00:41:29,940 A ver la ejecución de su código 940 00:41:29,940 --> 00:41:31,599 ¿Qué pasa con el código? ¿Qué habrá hecho? 941 00:41:32,340 --> 00:41:33,340 Vale, pues ¿qué hemos hecho? 942 00:41:33,619 --> 00:41:35,039 En esta ejecución concreta 943 00:41:35,039 --> 00:41:36,800 Donde la posición es 2 944 00:41:36,800 --> 00:41:39,380 Le hemos dicho 945 00:41:39,380 --> 00:41:41,599 La posición 2 será esta, entonces 946 00:41:41,599 --> 00:41:43,880 porque esta es la 0, esta es la 1 947 00:41:43,880 --> 00:41:44,820 y esta es la 2 948 00:41:44,820 --> 00:41:47,780 ¿qué hemos hecho? desde esta posición copia 949 00:41:47,780 --> 00:41:49,380 este en tu siguiente 950 00:41:49,380 --> 00:41:51,639 luego el for ha copiado 951 00:41:51,639 --> 00:41:52,340 el 3 aquí 952 00:41:52,340 --> 00:41:55,500 el 4 ya lo hemos perdido y se ha quedado el 3 953 00:41:55,500 --> 00:41:56,219 en los dos sitios 954 00:41:56,219 --> 00:41:58,659 luego ¿qué hemos hecho en la siguiente iteración? 955 00:41:58,820 --> 00:42:01,500 el 3 que se ha quedado aquí lo hemos copiado 956 00:42:01,500 --> 00:42:03,539 en la 5, luego el 3 se ha quedado 957 00:42:03,539 --> 00:42:05,139 aquí y ahora aquí también, es decir 958 00:42:05,139 --> 00:42:06,820 estamos sobre escribiendo todo lo que hay 959 00:42:06,820 --> 00:42:07,920 dijimos ¡ah! 960 00:42:08,840 --> 00:42:11,400 es que vamos a tener que copiar de abajo a arriba 961 00:42:11,400 --> 00:42:12,900 no de arriba a abajo 962 00:42:12,900 --> 00:42:14,920 es decir 963 00:42:14,920 --> 00:42:15,900 ¿vale? 964 00:42:17,179 --> 00:42:20,000 vamos a copiar el 8 en la siguiente 965 00:42:20,000 --> 00:42:21,539 luego 966 00:42:21,539 --> 00:42:22,880 el 7 en la siguiente 967 00:42:22,880 --> 00:42:25,840 es decir, vamos a empezar de abajo a arriba 968 00:42:25,840 --> 00:42:26,800 es decir, primero 969 00:42:26,800 --> 00:42:29,380 mi fork vaya de abajo a arriba 970 00:42:29,380 --> 00:42:31,400 mi fork se pare primero en esta posición 971 00:42:31,400 --> 00:42:33,059 y me copia 8 en la siguiente 972 00:42:33,059 --> 00:42:34,559 con lo cual el 8 se va a quedar replicado 973 00:42:34,559 --> 00:42:37,380 pero ya no pasa nada, porque cuando yo suba 974 00:42:37,380 --> 00:42:39,320 en la iteración hacia arriba, me va a copiar 975 00:42:39,320 --> 00:42:40,260 el 7 en la 8 976 00:42:40,260 --> 00:42:42,719 y luego cuando vuelva a subir 977 00:42:42,719 --> 00:42:44,940 en la iteración de arriba ya me va a copiar 978 00:42:44,940 --> 00:42:45,880 el 6 en el 7 979 00:42:45,880 --> 00:42:48,900 entonces no tenemos que copiar este 980 00:42:48,900 --> 00:42:51,239 en este, este en este, este en este 981 00:42:51,239 --> 00:42:53,059 sino empezar desde 982 00:42:53,059 --> 00:42:54,960 abajo, este en la que hay abajo 983 00:42:54,960 --> 00:42:57,019 sobrante, me quedan 984 00:42:57,019 --> 00:42:59,079 aquí dos 8, no pasa nada porque luego 985 00:42:59,079 --> 00:43:00,559 este en la que hay aquí 986 00:43:00,559 --> 00:43:02,800 piso este 8, pero es que ese 8 ya se había 987 00:43:02,800 --> 00:43:03,559 bajado abajo 988 00:43:03,559 --> 00:43:07,079 ya se había bajado, no hay problema, me quedan aquí dos 7 989 00:43:07,079 --> 00:43:08,920 pero es que luego 990 00:43:08,920 --> 00:43:10,679 Copiaremos este 6 en este 7 991 00:43:10,679 --> 00:43:13,360 Pisaré este 7, pero es que el otro 7 992 00:43:13,360 --> 00:43:14,659 Ya se había bajado abajo 993 00:43:14,659 --> 00:43:16,840 Entonces el for 994 00:43:16,840 --> 00:43:18,880 Tiene que empezar 995 00:43:18,880 --> 00:43:20,239 En la última posición 996 00:43:20,239 --> 00:43:22,619 Ir copiando en su siguiente 997 00:43:22,619 --> 00:43:24,440 E ir subiendo hacia pos 998 00:43:24,440 --> 00:43:25,940 Ir subiendo hacia pos 999 00:43:25,940 --> 00:43:27,840 Luego esto mal 1000 00:43:27,840 --> 00:43:29,380 Esto 1001 00:43:29,380 --> 00:43:32,280 Muy mal 1002 00:43:32,280 --> 00:43:39,500 Replica lo que hay 1003 00:43:39,500 --> 00:43:41,320 En 1004 00:43:41,320 --> 00:43:43,480 Y eso, claro, nos damos cuenta probándolo 1005 00:43:43,480 --> 00:43:43,800 ¿Se puede? 1006 00:43:44,079 --> 00:43:44,320 Sí 1007 00:43:44,320 --> 00:43:52,289 Todo el rato 1008 00:43:52,289 --> 00:43:56,889 Vale, pues entonces, vamos a hacerlo ya bien 1009 00:43:56,889 --> 00:44:00,469 Voy a dejar esto comentado así 1010 00:44:00,469 --> 00:44:02,909 ¿Vale? 1011 00:44:03,030 --> 00:44:04,469 Ya verás que tengo esa forma que está 1012 00:44:04,469 --> 00:44:07,500 Vale 1013 00:44:07,500 --> 00:44:09,420 Y ahora, ¿qué tenemos que hacer? 1014 00:44:09,760 --> 00:44:11,159 Pues nuestro for hemos dicho 1015 00:44:11,159 --> 00:44:12,780 Que va a ir 1016 00:44:12,780 --> 00:44:15,900 Desde la última de las posiciones 1017 00:44:15,900 --> 00:44:18,139 Que es 1018 00:44:18,139 --> 00:44:20,159 La 7 en mi caso 1019 00:44:20,159 --> 00:44:46,920 porque es 0, 1, 2, 3, 4, 5, 6 y 7, la última que es la 7, pues empezando desde la posición 7, desde igual a 7, mientras i sea mayor o igual que pos, porque tenemos que bajar hasta pos, decrementando una cada vez, ahora ya sí, ahora esta sentencia ya sí. 1020 00:44:46,920 --> 00:44:58,880 es decir, estamos en realidad 1021 00:44:58,880 --> 00:45:00,199 copiando siempre 1022 00:45:00,199 --> 00:45:02,860 uno en su consecutivo 1023 00:45:02,860 --> 00:45:05,320 uno en su consecutivo, eso siempre 1024 00:45:05,320 --> 00:45:07,260 pero claro, lo estamos haciendo 1025 00:45:07,260 --> 00:45:08,260 en el orden correcto 1026 00:45:08,260 --> 00:45:11,599 estamos copiando primero este en su consecutivo 1027 00:45:11,599 --> 00:45:13,320 para que ya 1028 00:45:13,320 --> 00:45:14,960 al quedarse guardado en su consecutivo 1029 00:45:14,960 --> 00:45:16,820 yo ya pueda pisar el 8 con el anterior 1030 00:45:16,820 --> 00:45:19,219 ahora ya, el 7 1031 00:45:19,219 --> 00:45:21,199 en su consecutivo, el 7 se queda 1032 00:45:21,199 --> 00:45:22,480 dos veces, ya bajo el 7 1033 00:45:22,480 --> 00:45:24,639 y aquí se queda otra vez, pero no pasa nada 1034 00:45:24,639 --> 00:45:26,139 porque lo vamos a pisar con este 1035 00:45:26,139 --> 00:45:27,780 Y así todo el rato 1036 00:45:27,780 --> 00:45:29,320 Cuando acabe este for 1037 00:45:29,320 --> 00:45:31,900 El 3 este que habrá bajado abajo 1038 00:45:31,900 --> 00:45:32,780 Se habrá quedado dos veces 1039 00:45:32,780 --> 00:45:34,559 Pero es que ahora ya el número nuevo 1040 00:45:34,559 --> 00:45:36,699 Ya sobrescribe ese 3 que se ha quedado ahí 1041 00:45:36,699 --> 00:45:37,760 El número nuevo que llega 1042 00:45:37,760 --> 00:45:41,039 Ya con esta sentencia 1043 00:45:41,039 --> 00:45:43,960 El número nuevo que llega 1044 00:45:43,960 --> 00:45:45,019 Sobrescribe eso 1045 00:45:45,019 --> 00:45:48,860 Entonces ahora ya si 1046 00:45:48,860 --> 00:45:50,119 Si ejecutamos esto 1047 00:45:50,119 --> 00:45:53,980 Vamos a poner 1048 00:45:53,980 --> 00:45:55,900 Vamos a empezar desde el 0 para que se vea mejor 1049 00:45:55,900 --> 00:45:59,079 0, 1, 2, 3 1050 00:45:59,079 --> 00:46:02,159 4, 5, 6, 7 1051 00:46:02,159 --> 00:46:04,079 ¿Qué número extra vas a meter? 1052 00:46:04,599 --> 00:46:05,539 El 111 1053 00:46:05,539 --> 00:46:06,699 ¿En qué posición lo vas a meter? 1054 00:46:06,880 --> 00:46:07,500 En la 3 1055 00:46:07,500 --> 00:46:09,039 Pues aquí está 1056 00:46:09,039 --> 00:46:12,679 El 111 se metió en la posición 3 1057 00:46:12,679 --> 00:46:15,219 Y todos los demás han bajado una más abajo 1058 00:46:15,219 --> 00:46:17,119 Y no te funciona 1059 00:46:17,119 --> 00:46:28,239 Algo has copiado mal, dime 1060 00:46:28,239 --> 00:46:31,360 Que suba 1061 00:46:31,360 --> 00:46:32,099 ¿Para dónde? 1062 00:46:34,760 --> 00:46:36,699 Vale, entonces la clave es darse cuenta 1063 00:46:36,699 --> 00:46:38,000 De que 1064 00:46:38,000 --> 00:46:40,500 La copia esta de uno en su consecutivo 1065 00:46:40,500 --> 00:46:41,820 Hay que hacerla desde el de abajo 1066 00:46:41,820 --> 00:46:43,719 Para ir dejando hueco desde abajo 1067 00:46:43,719 --> 00:46:46,139 Este pasas aquí, ahora este ya lo puedo ocupar 1068 00:46:46,139 --> 00:46:48,679 Y este pasa aquí, ahora este ya lo puedo ocupar 1069 00:46:48,679 --> 00:46:49,699 Y ahora este pasa aquí 1070 00:46:49,699 --> 00:46:52,539 Porque si vais copiando 1071 00:46:52,539 --> 00:46:54,440 Desde arriba, estáis pisando 1072 00:46:54,440 --> 00:46:55,619 Antes de bajar para abajo 1073 00:46:55,619 --> 00:47:10,519 Claro, claro 1074 00:47:10,519 --> 00:47:12,500 Bueno, es el número 1075 00:47:12,500 --> 00:47:13,559 Es la posición 1076 00:47:13,559 --> 00:47:16,019 Bueno, no 1077 00:47:16,019 --> 00:47:18,420 La penúltima exactamente, porque la RAI 1078 00:47:18,420 --> 00:47:20,639 En este caso tenía 10, es la posición 1079 00:47:20,639 --> 00:47:22,500 A partir de la cual 1080 00:47:22,500 --> 00:47:23,900 Yo quiero ir desplazando hacia 1081 00:47:23,900 --> 00:47:25,699 Hacia abajo, la que sea 1082 00:47:25,699 --> 00:47:27,820 ¿Vale? 1083 00:47:27,980 --> 00:47:30,380 Yo quiero ir desplazando desde esta posición que es la 7 1084 00:47:30,380 --> 00:47:32,719 Pues desde la que tú quieras desplazar 1085 00:47:32,719 --> 00:47:33,480 hacia abajo 1086 00:47:33,480 --> 00:47:36,739 porque el array podría tener 1087 00:47:36,739 --> 00:47:38,019 abajo muchas más vacías 1088 00:47:38,019 --> 00:47:40,440 de la que tú quieras empezar a desplazar 1089 00:47:40,440 --> 00:47:40,940 hacia abajo 1090 00:47:40,940 --> 00:47:44,199 están sin rellenar 1091 00:47:44,199 --> 00:47:46,639 en realidad tendrán cero 1092 00:47:46,639 --> 00:47:48,639 porque la máquina virtual lo tiene que poner en algún valor 1093 00:47:48,639 --> 00:47:50,460 lo pone en cero, si tú no le pones 1094 00:47:50,460 --> 00:47:52,480 un valor específico a un array para el que has creado 1095 00:47:52,480 --> 00:47:54,480 espacio, él inicializa con cero 1096 00:47:54,480 --> 00:47:58,059 es importante porque el otro día me surgió la duda 1097 00:47:58,059 --> 00:48:00,519 si los números 1098 00:48:00,519 --> 00:48:02,360 si tú no le das un valor internamente 1099 00:48:02,360 --> 00:48:04,199 los pone como cero y los objetos 1100 00:48:04,199 --> 00:48:06,079 como null, como string, por ejemplo. 1101 00:48:08,599 --> 00:48:08,860 Bueno, 1102 00:48:09,960 --> 00:48:11,579 pues entendido. 1103 00:48:12,360 --> 00:48:13,300 ¿Cómo que no? 1104 00:48:13,739 --> 00:48:15,039 Casi está entendido. 1105 00:48:16,739 --> 00:48:18,199 Claro, pero tenéis 1106 00:48:18,199 --> 00:48:20,340 que hacerlo. La frase es 1107 00:48:20,340 --> 00:48:23,679 solo se aprende a programar 1108 00:48:23,679 --> 00:48:24,480 programando. 1109 00:48:25,599 --> 00:48:26,719 O intentándolo. 1110 00:48:28,420 --> 00:48:30,099 Entonces, los primeros 1111 00:48:30,099 --> 00:48:32,260 intentos no conducen a nada y poco a poco 1112 00:48:32,260 --> 00:48:33,260 los siguientes intentos sí. 1113 00:48:33,260 --> 00:48:35,500 pero la fase de intentarlo 1114 00:48:35,500 --> 00:48:37,260 esa no se puede saltar 1115 00:48:37,260 --> 00:48:39,860 no se aprende a programar 1116 00:48:39,860 --> 00:48:42,239 solo entendiendo las cosas 1117 00:48:42,239 --> 00:48:45,699 a ver, ¿es la tercera que me va a meter ya hoy? 1118 00:48:46,300 --> 00:48:47,280 no, no, no 1119 00:48:47,280 --> 00:48:48,699 porque ya lleva dos 1120 00:48:48,699 --> 00:48:50,340 no, no, no 1121 00:48:50,340 --> 00:48:55,699 me has llamado 1122 00:48:55,699 --> 00:48:58,219 vieja senil y que por tanto no explico bien 1123 00:48:58,219 --> 00:48:59,719 eso me ha dicho