1 00:00:00,000 --> 00:00:04,540 bueno, pues vamos a hacerlo también como función 2 00:00:04,540 --> 00:00:07,200 a la función le vamos a pasar un texto 3 00:00:07,200 --> 00:00:10,599 y nos va a mostrar por consola todo ese histograma 4 00:00:10,599 --> 00:00:11,779 vamos a hacerlo como función 5 00:00:11,779 --> 00:00:14,560 pues venga, si lo hacemos como función 6 00:00:14,560 --> 00:00:18,480 la función como nos muestra por consola devuelve void 7 00:00:18,480 --> 00:00:28,079 y ahora mostrar histograma vocales 8 00:00:28,079 --> 00:00:34,479 y ahora aquí le pasamos un texto 9 00:00:34,479 --> 00:00:42,820 vale, esa es la función que tenemos que hacer 10 00:00:42,820 --> 00:00:44,960 bueno, pues tenemos que hacer 11 00:00:44,960 --> 00:00:46,960 cinco cuentas 12 00:00:46,960 --> 00:00:48,200 vale 13 00:00:48,200 --> 00:00:50,939 es decir, tenemos que hacer lo mismo 14 00:00:50,939 --> 00:00:51,719 cinco veces 15 00:00:51,719 --> 00:00:54,240 que es para A 16 00:00:54,240 --> 00:00:56,500 para E, para I 17 00:00:56,500 --> 00:00:58,039 para O y para U 18 00:00:58,039 --> 00:01:01,240 y esas cinco veces tengo que hacer un contador 19 00:01:01,240 --> 00:01:02,780 contar las AEs 20 00:01:02,780 --> 00:01:05,280 y luego generar tantos asteriscos 21 00:01:05,280 --> 00:01:06,040 como AEs 22 00:01:06,040 --> 00:01:08,159 conclusión 23 00:01:08,159 --> 00:01:09,079 interesante 24 00:01:09,079 --> 00:01:11,659 en lugar de hacer 25 00:01:11,659 --> 00:01:13,599 lo mismo para A 26 00:01:13,599 --> 00:01:15,400 y lo mismo para E 27 00:01:15,400 --> 00:01:18,000 y lo mismo para I y lo mismo para O 28 00:01:18,000 --> 00:01:20,200 y lo mismo para U, que es lo mismo 5 veces 29 00:01:20,200 --> 00:01:22,480 vamos a hacernos un array de char 30 00:01:22,480 --> 00:01:24,480 donde la primera posición 31 00:01:24,480 --> 00:01:26,400 sea A, la segunda sea E 32 00:01:26,400 --> 00:01:28,120 la segunda sea I, la segunda sea O 33 00:01:28,120 --> 00:01:28,859 y la segunda sea U 34 00:01:28,859 --> 00:01:31,900 y esas 5 veces las meto en un for 35 00:01:31,900 --> 00:01:34,040 que se ejecute 5 veces, una para cada 36 00:01:34,040 --> 00:01:35,719 posición de mi array de char 37 00:01:35,719 --> 00:01:39,299 es decir, esto es lo bonito 38 00:01:39,299 --> 00:01:40,140 y lo interesante 39 00:01:40,140 --> 00:01:41,760 está claro que 40 00:01:41,760 --> 00:01:44,620 hacer lo mismo 41 00:01:44,620 --> 00:01:46,799 para A y lo mismo para E 42 00:01:46,799 --> 00:01:48,120 y lo mismo para I y para O 43 00:01:48,120 --> 00:01:49,939 es un rollo, es copiar y pegar 44 00:01:49,939 --> 00:01:52,540 lo mismo cuatro veces cambiando 45 00:01:52,540 --> 00:01:53,799 donde pone A, E y O 46 00:01:53,799 --> 00:01:56,260 eso es feo, pues vamos a hacer esto 47 00:01:56,260 --> 00:01:59,019 está bonito pero va a estar más bonito 48 00:01:59,019 --> 00:02:00,379 si va a ser el mismo código vuestro 49 00:02:00,379 --> 00:02:01,400 pero metido dentro de un for 50 00:02:01,400 --> 00:02:05,599 pues vamos a hacer esto de aquí 51 00:02:05,599 --> 00:02:06,900 Las vocales. 52 00:02:08,340 --> 00:02:11,099 Sí, recordad, recordáis, ¿verdad? 53 00:02:11,300 --> 00:02:13,840 Que cuando se declaraba un array, 54 00:02:14,439 --> 00:02:15,639 en el momento de declararlo, 55 00:02:16,199 --> 00:02:18,639 podíamos ya, si queríamos, darle valores. 56 00:02:20,259 --> 00:02:21,979 Esto lo podríamos hacer, lo podríamos hacer, sí. 57 00:02:22,180 --> 00:02:31,860 Bueno, e, i, o, iu. 58 00:02:33,439 --> 00:02:36,960 Vale, pues hemos metido en un array de char, 59 00:02:37,360 --> 00:02:42,699 Las cinco vocales y para cada una de ellas queremos hacer el mismo rollo. 60 00:02:43,379 --> 00:02:45,860 Para cada una de ellas queremos hacer el mismo rollo, ¿sí o no? 61 00:02:47,659 --> 00:02:52,000 Bueno, pues vamos a hacernos un for que recorra esta raíz de vocales 62 00:02:52,000 --> 00:02:56,939 y dentro de ese for hacemos este código que tenemos que hacer cinco veces, 63 00:02:56,939 --> 00:03:00,379 pero a primera vez lo haremos para vocales de a, perdón, vocales de cero, 64 00:03:00,580 --> 00:03:04,819 luego para vocales de uno, es decir, vamos a recorrernos este for de aquí 65 00:03:04,819 --> 00:03:12,879 Y sea menor que vocales.lenz, incrementando i. 66 00:03:14,759 --> 00:03:19,039 Vale, pues ahora ya vamos a hacernos el código que te cuenta. 67 00:03:19,699 --> 00:03:21,879 ¿Cuántas veces aparece vocales de i? 68 00:03:26,000 --> 00:03:27,759 Y luego ya los asteriscos. 69 00:03:28,219 --> 00:03:32,199 Y esto se va a hacer para la posición 0, que será la a, 70 00:03:32,199 --> 00:03:34,379 para la posición 1 que será la E 71 00:03:34,379 --> 00:03:35,819 para la 2 que será la I 72 00:03:35,819 --> 00:03:37,180 para la 3 que será la O 73 00:03:37,180 --> 00:03:38,439 y para la 4 que será la U 74 00:03:38,439 --> 00:03:41,520 entonces no tenemos que hacer lo mismo 5 veces 75 00:03:41,520 --> 00:03:43,620 lo hacemos dentro de ese for 76 00:03:43,620 --> 00:03:45,759 y se va a hacer para vocales de 0 77 00:03:45,759 --> 00:03:46,840 vocales de 1, vocales de 2 78 00:03:46,840 --> 00:03:48,060 ¿sí o no? 79 00:03:50,280 --> 00:03:51,300 vale, pues entonces 80 00:03:51,300 --> 00:03:53,280 ahora ya vamos a hacerlo para vocales de I 81 00:03:53,280 --> 00:03:56,060 y como lo vamos a hacer eso 5 veces 82 00:03:56,060 --> 00:03:59,909 para vocales de I 83 00:03:59,909 --> 00:04:00,530 la que sea 84 00:04:00,530 --> 00:04:02,270 ¿qué tenemos que hacer? 85 00:04:02,750 --> 00:04:05,050 Contar cuántas veces aparece en el texto. 86 00:04:05,270 --> 00:04:06,330 Eso es lo primero de todo. 87 00:04:07,090 --> 00:04:07,990 Pues vamos a contar. 88 00:04:08,449 --> 00:04:10,110 Contar lo sabemos hacer ya de memoria. 89 00:04:10,870 --> 00:04:16,110 Empieza un contador y ahora ya recorremos nuestro texto. 90 00:04:18,930 --> 00:04:20,750 Pues recorremos nuestro texto. 91 00:04:21,470 --> 00:04:23,389 La i ya no la puedo usar porque ya está usada en el de arriba. 92 00:04:24,129 --> 00:04:29,389 Desde j igual a cero, mientras j sea menor que texto.length, 93 00:04:29,389 --> 00:04:34,360 si 94 00:04:34,360 --> 00:04:36,639 texto 95 00:04:36,639 --> 00:04:39,319 punto char at 96 00:04:39,319 --> 00:04:43,709 j 97 00:04:43,709 --> 00:04:46,569 resulta que es igual a qué? 98 00:04:47,170 --> 00:04:48,410 a vocales de i 99 00:04:48,410 --> 00:04:50,589 porque esa es la que estoy contando ahora 100 00:04:50,589 --> 00:04:52,670 con la que estoy trabajando, con vocales de i 101 00:04:52,670 --> 00:04:54,930 pues si es igual 102 00:04:54,930 --> 00:04:56,569 me aparece ya una vez esa vocal 103 00:04:56,569 --> 00:04:57,750 incremento la cuenta 104 00:04:57,750 --> 00:05:02,459 vale, pues ya tengo la cuenta 105 00:05:02,459 --> 00:05:04,600 ya tengo la cuenta 106 00:05:04,600 --> 00:05:06,259 de todas las veces que aparece 107 00:05:06,259 --> 00:05:07,160 vocales de i 108 00:05:07,160 --> 00:05:12,199 Eso decía yo, estaba viendo un rojo ahí 109 00:05:12,199 --> 00:05:13,300 Y yo este rojo 110 00:05:13,300 --> 00:05:16,040 Efectivamente 111 00:05:16,040 --> 00:05:17,300 Vale 112 00:05:17,300 --> 00:05:20,160 Vale, pues ya está 113 00:05:20,160 --> 00:05:22,800 Este código de aquí 114 00:05:22,800 --> 00:05:24,360 Me ha dicho la cantidad de veces 115 00:05:24,360 --> 00:05:25,680 Que aparece vocales de I 116 00:05:25,680 --> 00:05:26,399 La que sea 117 00:05:26,399 --> 00:05:29,220 Y ahora ya me toca mostrar esto 118 00:05:29,220 --> 00:05:31,660 La vocal, espacio 119 00:05:31,660 --> 00:05:34,180 La cuenta y luego los asteriscos 120 00:05:34,180 --> 00:05:36,459 Venga, pues vamos a hacer 121 00:05:36,459 --> 00:05:38,199 Primero mostramos 122 00:05:38,199 --> 00:05:39,459 La A y la cuenta 123 00:05:39,459 --> 00:05:41,420 Y luego ya vamos a hacer lo de los asteriscos. 124 00:05:42,100 --> 00:05:43,660 Pues venga, ya mi for ha acabado. 125 00:05:45,019 --> 00:05:48,100 Mostramos primero la vocal, que es vocales de i. 126 00:05:48,839 --> 00:05:52,800 Y lo vamos a concatenar con el espacio para que no se quede pegadita la cuenta. 127 00:05:53,480 --> 00:05:56,439 Le quito el ln porque lo quiero seguido, todo en la línea. 128 00:05:57,300 --> 00:06:05,980 Ahora vamos a mostrar la cuenta sin el ln porque me tiene que salir todo seguido. 129 00:06:06,100 --> 00:06:07,420 Pues la cuenta va a ser cont. 130 00:06:08,160 --> 00:06:11,740 Y le pongo luego un espacio para que los asteriscos se queden separados por el espacio. 131 00:06:11,740 --> 00:06:16,310 Y ahora ya que tengo que hacer 132 00:06:16,310 --> 00:06:20,110 Mostrar tantos asteriscos 133 00:06:20,110 --> 00:06:22,029 Como valga cont 134 00:06:22,029 --> 00:06:25,110 Pues hombre, tengo una forma facilísima de hacerlo 135 00:06:25,110 --> 00:06:27,410 Que es, me voy a hacer un for 136 00:06:27,410 --> 00:06:36,420 K 137 00:06:36,420 --> 00:06:41,439 Sea menor que cont 138 00:06:41,439 --> 00:06:43,300 Incrementando K 139 00:06:43,300 --> 00:06:44,660 Y muestro 140 00:06:44,660 --> 00:06:47,120 Sin el ln 141 00:06:47,120 --> 00:06:50,439 Porque los asteriscos tienen que salir seguidos 142 00:06:50,439 --> 00:06:51,939 Muestro el asterisco 143 00:06:51,939 --> 00:06:52,579 Y ya está 144 00:06:52,579 --> 00:06:54,759 y este bucle me va a mostrar 145 00:06:54,759 --> 00:06:56,120 tantos asteriscos 146 00:06:56,120 --> 00:06:58,019 como cuenta 147 00:06:58,019 --> 00:07:00,319 cuando ya he terminado 148 00:07:00,319 --> 00:07:02,339 pongo un salto de línea 149 00:07:02,339 --> 00:07:04,699 para que la siguiente me aparezca 150 00:07:04,699 --> 00:07:06,040 y ya está, ya lo he acabado 151 00:07:06,040 --> 00:07:08,019 ya he acabado el código 152 00:07:08,019 --> 00:07:10,339 y esto se va a hacer para todas 153 00:07:10,339 --> 00:07:13,139 se va a hacer para vocales de 0 154 00:07:13,139 --> 00:07:14,439 vocales de 1, vocales de 2 155 00:07:14,439 --> 00:07:15,040 para todas 156 00:07:15,040 --> 00:07:19,750 luego para cada vocal es de i 157 00:07:19,750 --> 00:07:21,990 hago la cuenta, primera parte 158 00:07:21,990 --> 00:07:24,769 una vez que he contado 159 00:07:24,769 --> 00:07:27,649 muestro la vocal 160 00:07:27,649 --> 00:07:29,009 y su cuenta 161 00:07:29,009 --> 00:07:32,250 y ahora ya muestro tantos asteriscos 162 00:07:32,250 --> 00:07:33,850 como cuenta me haya salido 163 00:07:33,850 --> 00:07:36,050 y hago un salto de línea 164 00:07:36,050 --> 00:07:36,709 para el siguiente 165 00:07:36,709 --> 00:07:42,079 y ya está, entonces si ejecutamos 166 00:07:42,079 --> 00:07:43,279 esto desde mi main 167 00:07:43,279 --> 00:07:46,420 mostrar 168 00:07:46,420 --> 00:07:47,699 histograma vocales 169 00:07:47,699 --> 00:07:49,680 con un texto que le pasemos 170 00:07:49,680 --> 00:07:56,779 le vamos a poner el texto 171 00:07:56,779 --> 00:07:57,980 por teclado 172 00:07:57,980 --> 00:08:12,269 y aquí ya 173 00:08:12,269 --> 00:08:15,470 lo voy a leer directamente a la vez que se lo paso 174 00:08:15,470 --> 00:08:16,329 vale 175 00:08:16,329 --> 00:08:22,689 vale, o sea 176 00:08:22,689 --> 00:08:25,449 ahora, lo he metido aquí dentro 177 00:08:25,449 --> 00:08:28,910 no pasa nada, a nadie le 178 00:08:28,910 --> 00:08:30,250 da problemas, ¿no? 179 00:08:31,230 --> 00:08:32,990 scan next line, directamente 180 00:08:32,990 --> 00:08:35,330 lee el texto y ese texto 181 00:08:35,330 --> 00:08:36,710 que me devuelve como valor 182 00:08:36,710 --> 00:08:39,429 el next line ya directamente entra 183 00:08:39,429 --> 00:08:40,909 a esta función 184 00:08:40,909 --> 00:08:43,450 y esta función ya demuestra por consola lo que sea 185 00:08:43,450 --> 00:08:45,649 vale, en lugar de guardarlo 186 00:08:45,649 --> 00:08:47,669 una variable aparte y pasaré la variable 187 00:08:47,669 --> 00:08:48,309 que más me da 188 00:08:48,309 --> 00:08:51,149 me ahorro esa variable y lo paso directamente 189 00:08:51,149 --> 00:08:53,509 y ahora ejecutamos esto 190 00:08:53,509 --> 00:08:55,090 se queda aquí esperando un texto 191 00:08:55,090 --> 00:08:57,610 y ahora hago lo que sea 192 00:08:57,610 --> 00:09:03,899 y la 193 00:09:03,899 --> 00:09:05,919 cuatro veces, la i4 y la o5 194 00:09:05,919 --> 00:09:08,240 y la u una vez 195 00:09:08,240 --> 00:09:12,720 ¿vale? a ver 196 00:09:12,720 --> 00:09:15,360 Pedro, lo que tú estabas intentando hacer 197 00:09:15,360 --> 00:09:19,559 ya, pero lo que tú estabas 198 00:09:19,559 --> 00:09:20,759 intentando hacer era 199 00:09:20,759 --> 00:09:23,100 en lugar de mostrar los asteriscos tal cual 200 00:09:23,100 --> 00:09:24,840 hacerte una variable string que los 201 00:09:24,840 --> 00:09:26,679 contenga y luego mostrar la variable 202 00:09:26,679 --> 00:09:29,200 eso está bien, pero haz la acumulación 203 00:09:29,200 --> 00:09:31,059 correcta, ¿vale? 204 00:09:31,240 --> 00:09:33,299 cadena será igual a la cadena más 205 00:09:33,299 --> 00:09:34,179 el asterisco nuevo 206 00:09:34,179 --> 00:09:35,539 vale 207 00:09:35,539 --> 00:09:40,759 bueno, pues de aquí lo más interesante 208 00:09:40,759 --> 00:09:42,039 es decir, hombre 209 00:09:42,039 --> 00:09:45,159 Me voy a hacer un array con las cinco vocales 210 00:09:45,159 --> 00:09:47,179 Y me hago esto 211 00:09:47,179 --> 00:09:48,500 Para cada una de ellas 212 00:09:48,500 --> 00:09:52,570 Y así que cambiamos 213 00:09:52,570 --> 00:09:54,909 Quiero hacer este histograma, pero además lo quiero hacer 214 00:09:54,909 --> 00:09:57,690 También para las mayúsculas 215 00:09:57,690 --> 00:09:59,149 Pues lo metemos aquí 216 00:09:59,149 --> 00:10:01,789 Metemos en este array para lo que queramos hacerlo 217 00:10:01,789 --> 00:10:03,629 Entonces se queda 218 00:10:03,629 --> 00:10:04,509 Mucho más 219 00:10:04,509 --> 00:10:06,610 Ampliable el programa 220 00:10:06,610 --> 00:10:10,960 ¿Vale? Le ponemos esto y decimos 221 00:10:10,960 --> 00:10:12,820 Ah, me lo va a hacer también para las 222 00:10:12,820 --> 00:10:17,240 ¿Cómo? 223 00:10:17,320 --> 00:10:19,620 Si ya lo probé 224 00:10:19,620 --> 00:10:21,519 Sí, pero lo pruebo otra vez 225 00:10:21,519 --> 00:10:23,440 Tú tranquilo 226 00:10:23,440 --> 00:10:26,399 Verás que bonito sale 227 00:10:26,399 --> 00:10:28,059 Vale, a ver 228 00:10:28,059 --> 00:10:29,799 Ha ido U, entonces este lo va a hacer 229 00:10:29,799 --> 00:10:31,700 Tanto minúsculas como mayúsculas, pero bueno 230 00:10:31,700 --> 00:10:35,940 Vale, pues le meto el texto aquí 231 00:10:35,940 --> 00:10:36,700 Que me dé la gana 232 00:10:36,700 --> 00:10:44,730 Enter y ya está 233 00:10:44,730 --> 00:10:49,230 ¿Qué se te ha olvidado poner? 234 00:10:49,330 --> 00:10:50,610 A ver si se te ha olvidado poner 235 00:10:50,610 --> 00:10:54,590 el salto de línea 236 00:10:54,590 --> 00:10:56,389 este final 237 00:10:56,389 --> 00:10:58,029 para que te salgan ya separadas. 238 00:11:02,580 --> 00:11:03,019 Bueno,