Autor Tema: PHP Ejercicios resueltos funciones cadenas contar letras reemplazar CU00828B  (Leído 6970 veces)

Cabanota

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 26
    • Ver Perfil
Hola colegas. Aquí traigo mi posible solución del punto a, b, c y d, de este tema Solo que quería saber si así como lo realice esta bien, y en el caso de que lo este, me gustaría saber de que forma puedo mejorar y optimizar.. Estaré agradecido con ustedes. Muchas gracias.

Citar
EJERCICIO

Crear archivos php que ejecuten la tarea indicada:

a) Dada la cadena "El abecedario completo es algo largo y detallarlo exhaustivamente es costoso", indicar cuántas veces aparece cada vocal usando funciones para cadenas PHP.

b) Dada la cadena "El abecedario completo es algo largo y detallarlo exhaustivamente es costoso", indicar qué consonantes son las que aparecen y cuántas veces aparecen usando funciones para cadenas PHP.

c) Dada la cadena "El abecedario completo es algo largo y detallarlo exhaustivamente es costoso", mostrar la cadena donde todas las a hayan sido sustituídas por el símbolo *. Por ejemplo en lugar de <<El abecedario…>> se habrá de mostrar <<El *beced*rio…>>

d) Dada la cadena "El abecedario completo es algo largo y detallarlo exhaustivamente es costoso", mostrar la subcadena desde la primera aparición de <<completo>> excluyendo completo, es decir, deberá mostrarse << es algo largo y detallarlo exhaustivamente es costoso>>. Para ello usa una o varias funciones para cadenas PHP.

POSIBLE SOLUCION:

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
</head>
<body>
<?php
$consonantes = array("b""d""f""g""h""j""k""l""m""n""ñ""p""q""r""s""t""v""x""y""z");
$cadena "El abecedario completo es algo largo y detallarlo exhaustivamente es costoso";

echo "<br/> APARTADO A) <br/>";

$resul count_chars($cadena1);

foreach ($resul as $key => $value) {
echo chr($key)  . " -> " $value "<br/>";
}

echo "<br/> APARTADO B) <br/>";

for ($i=0$i strlen($cadena); $i++) { 
$subcadenitas substr($cadena$i1);

for ($j=0$j count($consonantes); $j++) { 
if ($subcadenitas ==  $consonantes[$j]) {
$agregando $agregando $subcadenitas;
break;
}
}
}
$resul2 count_chars($agregando1);

foreach ($resul2 as $key => $value) {
echo chr($key) . " -> " $value "<br/>";
}

echo "<br/> APARTADO C) <br/>";

$resul3 str_replace("a""*"$cadena);
echo "Resultado: " $resul3;

echo "<br/><br/>APARTADO D) <br/>";

$cortar strstr($cadena"completo"false);
$resul4 trim($cortar"completo");
echo $resul4;
?>

</body>
</html>
« Última modificación: 19 de Junio 2015, 15:32 por César Krall »

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2078
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Hola Cabanota!

El apartado a) no es lo que pedía el ejercicio. El ejercicio pide que digas cuántas vocales hay en la frase de cada tipo. Por ejemplo en la frase "Hace calor" tendríamos:

a - > 2
e - > 1
i - > 0
o - > 1
u - > 0

Este post puede servir de orientación: https://www.aprenderaprogramar.com/foros/index.php?topic=1379

El apartado b) está incompleto, por ejemplo no aparece la c, que es una de las consonantes.

El apartado c) está correcto

En el apartado D) me aparece un error Warning: Wrong parameter count for strstr() ¿A tí te funciona?


Saludos!
Responsable de departamento de producción aprenderaprogramar.com

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".