1 00:00:00,420 --> 00:00:04,019 ¿De qué? Venga, vamos a ejercicio 1. 2 00:00:04,620 --> 00:00:05,980 Pues entonces, estáis en el examen. 3 00:00:06,080 --> 00:00:07,679 Empezáis vuestra clase, ejercicio 1. 4 00:00:09,160 --> 00:00:11,580 ¿Qué es lo primero que hacéis? 5 00:00:12,599 --> 00:00:16,719 Leer, efectivamente, enunciado y asegurarse de que uno lo entiende bien. 6 00:00:17,140 --> 00:00:17,320 Vale. 7 00:00:18,339 --> 00:00:20,219 Entonces, realizar una función. 8 00:00:20,839 --> 00:00:21,059 Vale. 9 00:00:21,719 --> 00:00:23,920 El nombre de la función os lo doy dado 10 00:00:23,920 --> 00:00:26,620 para que luego a mí me sea más fácil corregirlo 11 00:00:26,620 --> 00:00:28,500 porque a veces me ponéis nombres de funciones tan 12 00:00:28,500 --> 00:00:30,079 hiper, mega 13 00:00:30,079 --> 00:00:32,500 extraños que luego no encuentro 14 00:00:32,500 --> 00:00:34,280 entonces, os doy el nombre de la función 15 00:00:34,280 --> 00:00:36,640 pero claro, no os doy ni los parámetros que tiene que 16 00:00:36,640 --> 00:00:38,380 recibir el valor de retorno, se lo deducís 17 00:00:38,380 --> 00:00:40,740 vale, lo que digo, esta función necesita 18 00:00:40,740 --> 00:00:42,039 entonces, esto 19 00:00:42,039 --> 00:00:44,640 será, lo que me tenéis que 20 00:00:44,640 --> 00:00:46,719 hacer es una función, con lo cual 21 00:00:46,719 --> 00:00:47,679 a ver, que 22 00:00:47,679 --> 00:00:52,109 con lo cual lo que me tenéis que hacer es 23 00:00:52,109 --> 00:00:54,409 algo así, una función 24 00:00:54,409 --> 00:00:57,880 que reciba 25 00:00:59,880 --> 00:01:01,020 Esto es lo que hay que hacer. 26 00:01:01,600 --> 00:01:01,780 Vale. 27 00:01:02,719 --> 00:01:05,019 Luego ya esta función se probará en el main. 28 00:01:05,280 --> 00:01:07,239 Pero eso es aparte. 29 00:01:07,420 --> 00:01:08,200 Uno hace la función. 30 00:01:08,420 --> 00:01:10,719 La función es absolutamente independiente. 31 00:01:11,340 --> 00:01:12,280 Tiene su cometido. 32 00:01:13,099 --> 00:01:15,939 Trabaja con unos datos de entrada en caso de haberlos 33 00:01:15,939 --> 00:01:19,439 y devuelve un valor o no. 34 00:01:20,019 --> 00:01:21,680 A lo mejor con lo que hace dentro es suficiente. 35 00:01:22,379 --> 00:01:23,719 Bueno, y esa función es independiente. 36 00:01:23,819 --> 00:01:25,180 Pues eso es lo que se pide, hacer la función. 37 00:01:25,640 --> 00:01:29,000 Y luego vamos a hacer un main para probarla. 38 00:01:29,000 --> 00:01:30,640 Para que os sirva a vosotros 39 00:01:30,640 --> 00:01:32,719 Para ver si realmente os está funcionando o no 40 00:01:32,719 --> 00:01:35,040 Pero esto es lo que se pide hacer 41 00:01:35,040 --> 00:01:35,739 Una función 42 00:01:35,739 --> 00:01:39,420 Bueno, para hacer una función ya sabemos que necesitamos 43 00:01:39,420 --> 00:01:41,120 Parámetros de entrada 44 00:01:41,120 --> 00:01:43,980 ¿Necesita parámetros de entrada para trabajar o no? 45 00:01:44,359 --> 00:01:45,700 Pues sí, porque nos dicen 46 00:01:45,700 --> 00:01:47,120 Oye, la función va a recibir 47 00:01:47,120 --> 00:01:48,379 Una array de cadenas de texto 48 00:01:48,379 --> 00:01:51,000 Pues entonces esto ya lo tenemos 49 00:01:51,000 --> 00:01:53,379 Entonces si la función recibe 50 00:01:53,379 --> 00:01:54,579 Una array de cadenas de texto 51 00:01:54,579 --> 00:01:57,140 ¿Es esto lo único que tiene que recibir? 52 00:01:57,140 --> 00:01:59,000 no os inventéis 53 00:01:59,000 --> 00:02:00,319 más argumentos 54 00:02:00,319 --> 00:02:02,700 la función trabaja con esto 55 00:02:02,700 --> 00:02:04,819 puede que la función por dentro 56 00:02:04,819 --> 00:02:07,019 necesite variables auxiliares para hacer 57 00:02:07,019 --> 00:02:08,960 cosas, si las necesita se 58 00:02:08,960 --> 00:02:10,979 declaran ahí dentro, porque son variables 59 00:02:10,979 --> 00:02:12,780 auxiliares solo para trabajar aquí 60 00:02:12,780 --> 00:02:14,919 pero lo que le viene desde 61 00:02:14,919 --> 00:02:16,939 fuera para trabajar es solo 62 00:02:16,939 --> 00:02:18,819 una raíz de cadenas de texto, solo eso 63 00:02:18,819 --> 00:02:21,039 pues es lo único que se pone ahí, no se ponen 64 00:02:21,039 --> 00:02:21,639 más variables 65 00:02:21,639 --> 00:02:25,099 bueno, pues esta función con estas cadenas 66 00:02:25,099 --> 00:02:26,080 de texto, ¿qué va a hacer? 67 00:02:27,139 --> 00:02:32,159 Pues va a hacer, calcular la longitud media de esas cadenas. 68 00:02:32,280 --> 00:02:35,139 Cada cadena tendrá una longitud, pues la media de las longitudes. 69 00:02:35,879 --> 00:02:40,199 Y luego devolverá como valor de retorno otro array de cadenas 70 00:02:40,199 --> 00:02:42,460 que contenga cadenas, pero ¿cuáles? 71 00:02:42,659 --> 00:02:49,280 Pues las cadenas del primer array cuya longitud sea menor o igual que la media. 72 00:02:50,580 --> 00:02:54,979 Entonces, recibe un array de cadenas, devuelve otro array de cadenas, 73 00:02:54,979 --> 00:02:56,860 luego esto que se pone aquí 74 00:02:56,860 --> 00:02:58,080 ya lo tenemos 75 00:02:58,080 --> 00:02:59,819 lo que va a devolver es esto 76 00:02:59,819 --> 00:03:01,219 vale 77 00:03:01,219 --> 00:03:02,879 y ahora 78 00:03:02,879 --> 00:03:04,120 ¿qué tiene que hacer? 79 00:03:04,659 --> 00:03:06,539 calcular la media de las longitudes 80 00:03:06,539 --> 00:03:09,199 y una vez que tiene la media 81 00:03:09,199 --> 00:03:10,680 construir un array 82 00:03:10,680 --> 00:03:12,659 que tenga solamente 83 00:03:12,659 --> 00:03:15,000 las cadenas del array parámetro 84 00:03:15,000 --> 00:03:17,419 cuya longitud sea menor o igual que la media 85 00:03:17,419 --> 00:03:19,400 y ese array lo devolvemos 86 00:03:19,400 --> 00:03:21,319 luego son como esas tres partes 87 00:03:21,319 --> 00:03:22,500 vamos a hacer la primera parte 88 00:03:22,500 --> 00:03:24,060 calcular 89 00:03:24,060 --> 00:03:27,960 longitud media 90 00:03:27,960 --> 00:03:30,340 esto es hacer una media 91 00:03:30,340 --> 00:03:32,180 hacer una media sabemos perfectamente 92 00:03:32,180 --> 00:03:32,840 cómo se hace 93 00:03:32,840 --> 00:03:35,759 las longitudes son números enteros 94 00:03:35,759 --> 00:03:38,379 pues venga, vamos a calcular 95 00:03:38,379 --> 00:03:39,460 la longitud media 96 00:03:39,460 --> 00:03:43,780 entonces para hacer una media hacemos primero 97 00:03:43,780 --> 00:03:46,020 la suma acumulativa y dividimos entre el total 98 00:03:46,020 --> 00:03:46,919 esa es la media 99 00:03:46,919 --> 00:03:49,699 primero la suma acumulativa de los valores 100 00:03:49,699 --> 00:03:51,919 y cuando tengamos la suma acumulativa 101 00:03:51,919 --> 00:03:54,099 dividimos entre el total de valores 102 00:03:54,099 --> 00:03:56,719 Bueno, pues la suma acumulativa 103 00:03:56,719 --> 00:03:59,599 Siempre hacemos de esta misma manera 104 00:03:59,599 --> 00:04:00,580 Empieza con 0 105 00:04:00,580 --> 00:04:03,159 Y ahora, esta suma acumulativa 106 00:04:03,159 --> 00:04:04,180 Que va a ir recorriendo 107 00:04:04,180 --> 00:04:06,639 Todas las cadenas del array que me han pasado 108 00:04:06,639 --> 00:04:09,099 Las va a ir recorriendo todas ellas 109 00:04:09,099 --> 00:04:11,080 Bueno, pues aquí tendremos un for 110 00:04:11,080 --> 00:04:13,680 Que recorra mi array 111 00:04:13,680 --> 00:04:15,139 Que me han pasado por parámetro 112 00:04:15,139 --> 00:04:27,959 Vale 113 00:04:27,959 --> 00:04:30,860 Este for es el que va a ir 114 00:04:30,860 --> 00:04:33,259 Incorporando en la variable suma 115 00:04:33,259 --> 00:04:35,199 Con la sentencia de siempre 116 00:04:35,199 --> 00:04:39,040 la sentencia de la suma acumulativa, la que va a ir incorporando en la variable suma 117 00:04:39,040 --> 00:04:41,139 todos los sumandos que la integran. 118 00:04:41,600 --> 00:04:44,759 ¿Y los sumandos que la integran cuáles van a ser? 119 00:04:45,480 --> 00:04:48,160 Pues cada una de las longitudes de estas cadenas. 120 00:04:48,680 --> 00:04:52,720 La longitud de la cadena 0, la longitud de la cadena 1, la longitud de la cadena 2. 121 00:04:52,720 --> 00:04:57,139 Es decir, cadena de i.length 122 00:04:57,139 --> 00:05:04,220 Cadenas de i.length 123 00:05:04,220 --> 00:05:07,839 ¿Vale? Pues ya tenemos el for 124 00:05:07,839 --> 00:05:14,540 Voy a poner la llavecita por si nos estreséis 125 00:05:14,540 --> 00:05:20,019 ¿Vale? Ya tenemos el for que hace una suma acumulativa de toda la vida 126 00:05:20,019 --> 00:05:24,420 Aquí lo único que puede tener un pelín de es 127 00:05:24,420 --> 00:05:32,759 Que lo que vamos sumando a la suma acumulativa es todos y cada uno de los tamaños de las cadenas. 128 00:05:33,379 --> 00:05:41,199 A la suma acumulativa va la longitud de la primera, y luego va la longitud de la segunda, y luego la longitud de la tercera, y así. 129 00:05:43,279 --> 00:05:45,379 Oye, paz, silencio. 130 00:05:46,040 --> 00:05:51,160 Vale, esta es la suma de las longitudes, pero nos han pedido la media. 131 00:05:51,160 --> 00:05:53,139 Bueno, pues la media es 132 00:05:53,139 --> 00:05:55,720 Esa suma entre el total de cadenas que tengo 133 00:05:55,720 --> 00:05:57,259 Pues entonces 134 00:05:57,259 --> 00:06:01,959 La media es esa suma 135 00:06:01,959 --> 00:06:03,879 Entre el total de cadenas que tengo 136 00:06:03,879 --> 00:06:05,019 ¿Y cuántas cadenas tengo? 137 00:06:05,199 --> 00:06:06,600 Pues tantas como hay en el array 138 00:06:06,600 --> 00:06:08,319 Es decir, esto 139 00:06:08,319 --> 00:06:09,720 Tantas como hay en el array 140 00:06:09,720 --> 00:06:12,959 Vale, pues ya tengo 141 00:06:12,959 --> 00:06:14,480 La media de las longitudes 142 00:06:14,480 --> 00:06:16,620 Una suma acumulativa normal y corriente 143 00:06:16,620 --> 00:06:18,560 Y luego dividida por el total 144 00:06:18,560 --> 00:06:19,560 Para que sea una media 145 00:06:19,560 --> 00:06:23,290 Ahora, ¿qué tenemos que hacer? 146 00:06:23,290 --> 00:06:25,589 Tenemos que construir un nuevo array 147 00:06:25,589 --> 00:06:27,910 Y recorrer este primero 148 00:06:27,910 --> 00:06:29,550 Este parámetro que nos han pasado 149 00:06:29,550 --> 00:06:32,149 Recorrer este primero de aquí 150 00:06:32,149 --> 00:06:35,589 Andoni, cállate de una vez 151 00:06:35,589 --> 00:06:38,370 ¿Vale? Recorrer este primer array 152 00:06:38,370 --> 00:06:39,790 Y cada 153 00:06:39,790 --> 00:06:41,350 Y cada cadena de esa 154 00:06:41,350 --> 00:06:44,050 Cuya longitud sea menor o igual que la media 155 00:06:44,050 --> 00:06:45,110 Menor o igual 156 00:06:45,110 --> 00:06:46,990 Pues lo metemos en ese otro array 157 00:06:46,990 --> 00:06:49,410 Solo vamos a copiar en el otro array 158 00:06:49,410 --> 00:06:51,009 Las cadenas 159 00:06:51,009 --> 00:06:53,870 de este cuya longitud sea menor 160 00:06:53,870 --> 00:06:55,230 que la media que acabamos de calcular 161 00:06:55,230 --> 00:06:58,029 luego, la primera duda que nos surge 162 00:06:58,029 --> 00:06:59,829 es, a ver, este array 163 00:06:59,829 --> 00:07:01,829 nuevo, ¿qué tamaño 164 00:07:01,829 --> 00:07:03,970 tiene? ¿qué tamaño le reservo? 165 00:07:04,769 --> 00:07:05,389 es que no sé 166 00:07:05,389 --> 00:07:07,449 no sé cuántas cadenas 167 00:07:07,449 --> 00:07:09,649 van a tener menor 168 00:07:09,649 --> 00:07:11,350 longitud que la media, no lo sé 169 00:07:11,350 --> 00:07:13,250 entonces, mi array resultado 170 00:07:13,250 --> 00:07:15,470 que va a ser un array de cadenas 171 00:07:15,470 --> 00:07:17,990 mi array resultado 172 00:07:17,990 --> 00:07:19,870 pues aquí me quedo 173 00:07:19,870 --> 00:07:20,670 para un rato, ¿no? 174 00:07:21,009 --> 00:07:25,089 Y digo, uy, ¿qué tamaño le doy a mi array resultado? 175 00:07:26,370 --> 00:07:32,089 Vale, pues aquí, a ver, podemos resolver de muchas maneras. 176 00:07:32,990 --> 00:07:38,670 Podríamos darle el mismo tamaño que el original y rellenándolo desde el principio 177 00:07:38,670 --> 00:07:42,149 y la parte que me sobra, que sea la que tenga null, cortarla. 178 00:07:42,870 --> 00:07:45,250 Podemos operar de muchas maneras, pero la más sencilla es, 179 00:07:45,250 --> 00:07:48,470 oye espera, voy a meter aquí un contador 180 00:07:48,470 --> 00:07:50,350 que me vaya 181 00:07:50,350 --> 00:07:52,389 voy a hacer un contador 182 00:07:52,389 --> 00:07:53,230 que me cuente 183 00:07:53,230 --> 00:07:56,209 cuántas cadenas tienen 184 00:07:56,209 --> 00:07:58,350 como longitud menor 185 00:07:58,350 --> 00:07:59,589 que esta media 186 00:07:59,589 --> 00:08:01,129 lo cuento antes 187 00:08:01,129 --> 00:08:03,529 y ahora ya este string 188 00:08:03,529 --> 00:08:05,470 que tenga como tamaño ese contador 189 00:08:05,470 --> 00:08:08,490 eso sería lo más fácil, es más largo de código 190 00:08:08,490 --> 00:08:10,029 que esa primera otra opción que he dicho 191 00:08:10,029 --> 00:08:12,449 de darle la longitud del original 192 00:08:12,449 --> 00:08:14,910 y luego cortarlo que no hayamos rellenado 193 00:08:14,910 --> 00:08:17,089 es más largo de código, pero quizás 194 00:08:17,089 --> 00:08:19,069 es más fácil de hacer para vosotros 195 00:08:19,069 --> 00:08:21,129 porque es lo que hacemos todo el rato, contar, sumar 196 00:08:21,129 --> 00:08:22,910 pues venga, vamos a contar 197 00:08:22,910 --> 00:08:28,040 cadenas de 198 00:08:28,040 --> 00:08:28,759 longitud 199 00:08:28,759 --> 00:08:35,129 menor o 200 00:08:35,129 --> 00:08:37,149 igual que la media 201 00:08:37,149 --> 00:08:38,789 vamos a contarlas 202 00:08:38,789 --> 00:08:41,230 con el único propósito, repito 203 00:08:41,230 --> 00:08:43,210 de darle tamaño a este array 204 00:08:43,210 --> 00:08:45,269 que lo tenemos ahí, que no sabemos que tamaño 205 00:08:45,269 --> 00:08:46,669 va a tener, con único propósito 206 00:08:46,669 --> 00:08:49,029 pues venga, vamos a contar 207 00:08:49,029 --> 00:08:50,090 como contamos siempre 208 00:08:50,090 --> 00:08:52,610 un contador, recorremos nuestro array 209 00:08:52,610 --> 00:08:57,029 casi nunca usáis el forEach 210 00:08:57,029 --> 00:08:58,350 porque lo mencionamos 211 00:08:58,350 --> 00:09:00,889 y no lo hemos usado en los ejercicios prácticamente 212 00:09:00,889 --> 00:09:03,029 para nada, por unos 213 00:09:03,029 --> 00:09:05,029 pequeños efectos secundarios que veremos más cuando veamos 214 00:09:05,029 --> 00:09:07,190 objetos, pero bueno, por comodidad 215 00:09:07,190 --> 00:09:08,269 lo voy a poner 216 00:09:08,269 --> 00:09:09,629 ¿vale? 217 00:09:18,179 --> 00:09:19,139 bueno, no, venga 218 00:09:19,139 --> 00:09:20,980 no lo pongo para que nos liéis, cuando veáis 219 00:09:20,980 --> 00:09:23,039 la corrección, no lo pongo, ya usaremos este 220 00:09:23,039 --> 00:09:24,580 forEach con objetos tranquilamente 221 00:09:24,580 --> 00:09:34,299 Pues venga, vamos a contar cuántas cadenas de mi array parámetro tienen longitud menor o igual 222 00:09:34,299 --> 00:09:41,620 Pues ahora, si cadenas de y.length 223 00:09:41,620 --> 00:09:49,000 Es decir, el tamaño de la cadena es menor o igual que la media 224 00:09:49,000 --> 00:09:51,580 ¡Hala! Esta va a ir al array 225 00:09:51,580 --> 00:09:54,500 Esta va a ir al array, pues la contamos 226 00:09:54,500 --> 00:09:58,940 Bueno, pues ya tenemos aquí el for 227 00:09:58,940 --> 00:10:00,740 Le voy a poner llaves al for 228 00:10:00,740 --> 00:10:02,720 Para que no me regañéis 229 00:10:02,720 --> 00:10:04,960 Uy, ahí no 230 00:10:04,960 --> 00:10:05,639 Aquí abajo 231 00:10:05,639 --> 00:10:11,409 Al con más más ese ya no le pongo llaves 232 00:10:11,409 --> 00:10:11,970 Que es demasiado 233 00:10:11,970 --> 00:10:15,370 Vale, entonces este 234 00:10:15,370 --> 00:10:17,250 Este trozo de código 235 00:10:17,250 --> 00:10:19,889 Es un trozo de código solamente para contar 236 00:10:19,889 --> 00:10:21,490 Cuántas cadenas 237 00:10:21,490 --> 00:10:22,490 De la array original 238 00:10:22,490 --> 00:10:25,450 Van a tener un tamaño menor que la media 239 00:10:25,450 --> 00:10:27,129 Porque esas van a ser las que vayan al otro 240 00:10:27,129 --> 00:10:30,269 entonces si las tenemos contadas 241 00:10:30,269 --> 00:10:32,590 ya hemos resuelto este problema 242 00:10:32,590 --> 00:10:34,909 que tamaño le damos al array definitivo 243 00:10:34,909 --> 00:10:36,370 ya lo hemos resuelto 244 00:10:36,370 --> 00:10:37,850 ya está 245 00:10:37,850 --> 00:10:40,710 y ahora ya nos queda la tercera parte 246 00:10:40,710 --> 00:10:43,970 que también hemos hecho muchas veces 247 00:10:43,970 --> 00:10:45,269 pues vamos recorriendo un array 248 00:10:45,269 --> 00:10:48,129 la que toque la guardo en el otro 249 00:10:48,129 --> 00:10:50,490 en la posición que toque y dejo incrementada la posición 250 00:10:50,490 --> 00:10:54,509 es decir, ahora ya vamos a recorrer 251 00:10:54,509 --> 00:10:56,169 el array parámetro para ir copiando 252 00:10:56,169 --> 00:10:58,809 mientras i sea menor 253 00:10:58,809 --> 00:11:00,269 que cadenas 254 00:11:00,269 --> 00:11:01,330 punto len 255 00:11:01,330 --> 00:11:08,330 no, estoy recorriendo el original 256 00:11:08,330 --> 00:11:10,409 y cada cadena que sea menor o igual que la media 257 00:11:10,409 --> 00:11:12,389 lo copio en el otro, el otro está vacío todavía 258 00:11:12,389 --> 00:11:14,289 tiene nul, el otro está vacío 259 00:11:14,289 --> 00:11:17,490 pues que hacemos con esto 260 00:11:17,490 --> 00:11:19,149 si 261 00:11:19,149 --> 00:11:22,309 cadenas de i 262 00:11:22,309 --> 00:11:24,830 punto len 263 00:11:24,830 --> 00:11:28,450 resulta que es 264 00:11:28,450 --> 00:11:30,129 menor o igual que la media 265 00:11:30,129 --> 00:11:32,529 esta toca copiarla 266 00:11:32,529 --> 00:11:34,750 luego esta toca 267 00:11:34,750 --> 00:11:36,789 llevarla a alguna posición 268 00:11:36,789 --> 00:11:38,190 de result, a alguna 269 00:11:38,190 --> 00:11:39,769 toca copiarla 270 00:11:39,769 --> 00:11:46,100 y este problema ya lo hemos visto muchas veces 271 00:11:46,100 --> 00:11:48,179 ¿a qué posición la copiamos? 272 00:11:48,820 --> 00:11:50,159 porque aquí habéis plantado todos 273 00:11:50,159 --> 00:11:51,919 alegremente, o casi todos, y 274 00:11:51,919 --> 00:11:54,299 claro, magnífico, y te vas 275 00:11:54,299 --> 00:11:55,700 dejando unos huecazos en medio 276 00:11:55,700 --> 00:11:58,080 copias la 0 en la 0, luego 277 00:11:58,080 --> 00:12:00,360 que hay 3 que no copias, te quedan ahí 3 huecos 278 00:12:00,360 --> 00:12:02,679 vacíos, luego copias la 4 en la 4 279 00:12:02,679 --> 00:12:04,299 no queremos eso, queremos 280 00:12:04,299 --> 00:12:06,360 que las que vamos copiando de la raya original 281 00:12:06,360 --> 00:12:08,179 vayan seguidas en el otro 282 00:12:08,179 --> 00:12:09,480 esto lo hemos resuelto muchas veces 283 00:12:09,480 --> 00:12:12,259 claro 284 00:12:12,259 --> 00:12:13,460 entonces, ¿en qué posición? 285 00:12:14,080 --> 00:12:16,019 pues venga, vamos a ponerla en una posición 286 00:12:16,019 --> 00:12:17,679 que se inicie en 0 287 00:12:17,679 --> 00:12:21,240 que se inicie en 0 288 00:12:21,240 --> 00:12:23,500 y la voy dejando incrementada 289 00:12:23,500 --> 00:12:24,820 ¿vale? 290 00:12:26,320 --> 00:12:28,259 que esto ya lo hemos resuelto muchas veces 291 00:12:28,259 --> 00:12:30,100 pues ya está 292 00:12:30,100 --> 00:12:32,220 de la raya original 293 00:12:32,220 --> 00:12:34,200 vamos copiando en posiciones 294 00:12:34,200 --> 00:12:36,220 consecutivas de result 295 00:12:36,220 --> 00:12:38,220 en consecutivas, no a saltos 296 00:12:38,220 --> 00:12:39,539 no a saltos 297 00:12:39,539 --> 00:12:41,500 en posiciones consecutivas 298 00:12:41,500 --> 00:12:43,919 vamos guardando 299 00:12:43,919 --> 00:12:53,830 esto, vale 300 00:12:53,830 --> 00:12:56,289 y ya está, y ahora ya devolvemos 301 00:12:56,289 --> 00:12:56,809 result 302 00:12:56,809 --> 00:13:06,250 y listo 303 00:13:06,250 --> 00:13:07,470 se acabó la función 304 00:13:07,470 --> 00:13:11,100 vale 305 00:13:11,100 --> 00:13:14,399 entonces la función son como varias partes 306 00:13:14,399 --> 00:13:16,019 varios ladrillos, como digo siempre 307 00:13:16,019 --> 00:13:17,860 de cosas que hemos hecho, pero claro 308 00:13:17,860 --> 00:13:19,799 insisto en lo de siempre 309 00:13:19,799 --> 00:13:22,179 primero uno tiene que organizar 310 00:13:22,179 --> 00:13:24,100 su código y decir, ah, tengo que hacer esto y luego esto 311 00:13:24,100 --> 00:13:26,279 y luego esto, una vez que lo tiene organizado 312 00:13:26,279 --> 00:13:27,519 cada uno de esos ladrillos 313 00:13:27,519 --> 00:13:29,379 no los tiene que pensar de cero 314 00:13:29,379 --> 00:13:32,000 porque ya los hemos hecho muchas veces y ya los tiene 315 00:13:32,000 --> 00:13:34,120 memorizados en la cabeza, dice, ah, vale 316 00:13:34,120 --> 00:13:35,539 tengo que hacer una media 317 00:13:35,539 --> 00:13:37,220 genial, hago una media 318 00:13:37,220 --> 00:13:39,799 una suma acumulativa donde voy sumando 319 00:13:39,799 --> 00:13:42,519 todas las longitudes de las cadenas 320 00:13:42,519 --> 00:13:44,159 y cuando tenga ya la suma 321 00:13:44,159 --> 00:13:46,019 divido por el total de cadenas 322 00:13:46,019 --> 00:13:48,120 vale, ahora me hago 323 00:13:48,120 --> 00:13:50,080 un array, me hago un array 324 00:13:50,080 --> 00:13:51,940 resultado en el que voy copiando 325 00:13:51,940 --> 00:13:53,980 vamos copiando en posiciones 326 00:13:53,980 --> 00:13:55,820 consecutivas del resultado 327 00:13:55,820 --> 00:13:57,340 para eso tenemos que hacer esto 328 00:13:57,340 --> 00:14:00,299 voy copiando una posición 329 00:14:00,299 --> 00:14:02,259 que empieza siendo 0 y luego la voy 330 00:14:02,259 --> 00:14:04,299 incrementando, para así 331 00:14:04,299 --> 00:14:06,080 ir copiando en posiciones consecutivas 332 00:14:06,080 --> 00:14:08,159 de este, ¿y cuáles voy copiando? 333 00:14:08,159 --> 00:14:11,120 pues voy copiando solo cada una de las 334 00:14:11,120 --> 00:14:12,419 y es de estas 335 00:14:12,419 --> 00:14:14,539 cuya longitud sea menor o igual que la media 336 00:14:14,539 --> 00:14:17,039 y ahora este problema que queda 337 00:14:17,039 --> 00:14:18,480 ya pero no sé qué tamaño darle 338 00:14:18,480 --> 00:14:19,779 bueno pues vamos a contar antes 339 00:14:19,779 --> 00:14:22,039 cuántos espacios vas a necesitar 340 00:14:22,039 --> 00:14:24,460 pues vas a necesitar estos espacios 341 00:14:24,460 --> 00:14:26,659 vamos a contarlos, tantos como cadenas 342 00:14:26,659 --> 00:14:28,580 tengan longitud menor o igual que la media 343 00:14:28,580 --> 00:14:32,330 vale, pues ya está la función 344 00:14:32,330 --> 00:14:34,710 ahora si hacemos un main para probarla 345 00:14:34,710 --> 00:14:36,649 aquí el main, ni había que leer por teclado ni nada 346 00:14:36,649 --> 00:14:38,809 para que fuera más corto 347 00:14:38,809 --> 00:14:44,090 el ejercicio 348 00:14:44,090 --> 00:14:44,990 y entonces 349 00:14:44,990 --> 00:14:46,190 el 350 00:14:46,190 --> 00:14:52,110 ah, es que esta no es la versión definitiva 351 00:14:52,110 --> 00:14:54,370 vale, la versión definitiva 352 00:14:54,370 --> 00:14:57,710 la tengo 353 00:14:57,710 --> 00:14:59,610 en otro sitio 354 00:14:59,610 --> 00:15:01,950 vale, bueno, había que probar con una RAI de números 355 00:15:01,950 --> 00:15:03,230 cualquiera, vamos a ponerlo 356 00:15:03,230 --> 00:15:07,909 entonces habíamos dicho, venga, probad 357 00:15:07,909 --> 00:15:09,690 Con el array este 358 00:15:09,690 --> 00:15:10,529 De cadenas 359 00:15:10,529 --> 00:15:15,809 Que era soy y un montón de cosas varias 360 00:15:15,809 --> 00:15:29,860 Vale, vamos a poner 361 00:15:29,860 --> 00:15:31,539 Tres, otra larga 362 00:15:31,539 --> 00:15:33,379 Para ver si elimina la del medio 363 00:15:33,379 --> 00:15:34,240 Al menos 364 00:15:34,240 --> 00:15:43,240 Un cerdo no es muy larga 365 00:15:43,240 --> 00:15:44,259 Vamos a poner un cerdito 366 00:15:44,259 --> 00:15:50,960 Por mi torrinco ese estaría bien 367 00:15:50,960 --> 00:15:53,240 Vale, entonces aquí me falta 368 00:15:54,139 --> 00:15:55,440 La 369 00:15:55,440 --> 00:15:57,000 Llave 370 00:15:57,000 --> 00:15:59,620 y el punto y coma, vale 371 00:15:59,620 --> 00:16:02,039 este main estaba puesto un poco a propósito 372 00:16:02,039 --> 00:16:03,799 para que os acordarais 373 00:16:03,799 --> 00:16:06,059 de que uno puede a la vez que declara un array 374 00:16:06,059 --> 00:16:07,960 inicializarlo entre llaves 375 00:16:07,960 --> 00:16:09,639 con los valores, entonces en mi main 376 00:16:09,639 --> 00:16:10,899 ya tengo un ejemplo concreto 377 00:16:10,899 --> 00:16:13,340 entonces ahora ya con un ejemplo concreto 378 00:16:13,340 --> 00:16:14,240 llamo a la función 379 00:16:14,240 --> 00:16:16,659 vale, pues entonces 380 00:16:16,659 --> 00:16:20,799 mi función 381 00:16:20,799 --> 00:16:22,899 me devolverá un resultado 382 00:16:22,899 --> 00:16:29,059 por ejemplo lo guardamos 383 00:16:29,059 --> 00:16:29,559 aquí 384 00:16:29,559 --> 00:16:32,299 filtradas 385 00:16:32,299 --> 00:16:35,740 y como se llama la función 386 00:16:35,740 --> 00:16:38,500 esto también era para ver que sabíais llamar a la función 387 00:16:38,500 --> 00:16:40,440 pues se llama la función 388 00:16:40,440 --> 00:16:42,379 con su nombre y pasándole 389 00:16:42,379 --> 00:16:44,480 el dato que uno quiera 390 00:16:44,480 --> 00:16:46,419 pues queremos pasarle este dato 391 00:16:46,419 --> 00:16:48,220 cadenas, este array en concreto 392 00:16:48,220 --> 00:16:49,059 le vamos a pasar 393 00:16:49,059 --> 00:16:52,240 el resultado como es un array hay que guardar una variable 394 00:16:52,240 --> 00:16:53,679 si no lo guardo en una variable 395 00:16:53,679 --> 00:16:55,419 el resultado lo pierdo 396 00:16:55,419 --> 00:16:58,039 y ahora hombre para comprobar si realmente 397 00:16:58,039 --> 00:17:00,200 lo ha filtrado, vamos a mostrarlo 398 00:17:00,200 --> 00:17:18,500 venga 399 00:17:18,500 --> 00:17:21,240 filtradas de ahí 400 00:17:21,240 --> 00:17:23,859 vamos a ver 401 00:17:23,859 --> 00:17:25,500 si nos funciona a la primera 402 00:17:25,500 --> 00:17:27,599 todo el mundo sabe llamar a la función 403 00:17:27,599 --> 00:17:29,940 si tiene valor de retorno, pues tiene que 404 00:17:29,940 --> 00:17:32,039 guardarlo en un sitio y luego ya hacer con él 405 00:17:32,039 --> 00:17:33,819 lo que sea, en nuestro caso mostrarlo 406 00:17:33,819 --> 00:17:36,000 pues a este main 407 00:17:36,000 --> 00:17:37,240 lo llamamos 408 00:17:37,240 --> 00:17:41,740 y esta es la única que no superaba 409 00:17:41,740 --> 00:17:43,660 la media, debe ser que la media era 410 00:17:43,660 --> 00:17:45,480 muy larga, podríamos 411 00:17:45,480 --> 00:17:46,420 Comprobarlo, pero bueno 412 00:17:46,420 --> 00:17:48,420 Suponemos que está bien 413 00:17:48,420 --> 00:17:50,500 ¿Puedes bajar al último array? 414 00:17:51,240 --> 00:17:52,240 En la función 415 00:17:52,240 --> 00:17:53,539 O en el main 416 00:17:53,539 --> 00:18:12,460 Vale 417 00:18:12,460 --> 00:18:15,839 ¿Perdón? 418 00:18:24,140 --> 00:18:25,319 Pues no sé deciros 419 00:18:25,319 --> 00:18:27,440 Este es el código, está en mi prueba 420 00:18:27,440 --> 00:18:29,099 No sé qué código tenéis vosotros 421 00:18:29,099 --> 00:18:31,140 Luego lo miramos a ver 422 00:18:31,140 --> 00:18:33,140 En vuestro código 423 00:18:33,140 --> 00:18:33,920 Que hay, pero vamos 424 00:18:33,920 --> 00:18:38,319 A ver, si el código es idéntico 425 00:18:38,319 --> 00:18:39,660 El resultado tiene que ser idéntico 426 00:18:39,660 --> 00:18:42,079 Si el resultado es distinto, el código es distinto 427 00:18:42,079 --> 00:18:43,779 Eso sí que es 428 00:18:43,779 --> 00:18:45,640 Impepinable 429 00:18:45,640 --> 00:18:48,559 Un descansito 430 00:18:48,559 --> 00:18:50,599 Vale, un descansito