PHP - letras del alfabeto

 
Vista:

letras del alfabeto

Publicado por Julian Martinez (2 intervenciones) el 21/04/2018 17:34:21
Las letras del alfabeto ordenadas y dispuestas en círculo; es decir, tras la A viene la B, después la C, y así sucesivamente hasta la Z; a continuación de la Z se encuentra nuevamente la A.
Definimos una rotación de longitud 1 como una transformación que sustituye cada letra por la siguiente en orden circular; es decir , A-> B, B->C, ... Z->a y así sucesivamente.
Escribir un programa en PHP que tome un texto de entrada y rote todas sus letras 1 posición a la derecha.

Antes de efectuar la rotación:
• Se eliminarán del texto todos los espacios y signos de puntuación.
• Se transformarán todas las letras en mayúsculas.

No se transformará (se devolverá un error) si el texto tiene dígitos o caracteres que no formen parte del código ASCII estándar (ñ, vocales acentuadas...)

Ejemplo;
La cadena "Me gusta programar" se transformará en: "NFHVTBQSPHSBNBT"
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

letras del alfabeto

Publicado por anonymous (24 intervenciones) el 22/04/2018 11:31:25
Supongo que esto debería funcionarte:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
function alfabeto($string){
$string = strtr($string,'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ','bcdefghijklmnopqrstuvwxyzaBCDEFGHIJKLMNOPQRSTUVWXYZA');
$string = str_replace(' ', '', $string);
return strtoupper($string);
}
 
$frase = 'me gusta programar';
 
if(strpos($frase, 'ñ') !== false OR strpos($frase, 'á') !== false OR strpos($frase, 'é') !== false OR strpos($frase, 'í') !== false OR strpos($frase, 'ó') !== false OR strpos($frase, 'ú') !== false){
	die('error');
}
 
echo alfabeto($frase); // devuelve 'NFHVTUBQSPHSBNBS'
?>

De todas formas, cito tu post:

1
La cadena "Me gusta programar" se transformará en: "NFHVTBQSPHSBNBT"

Creería que alguno de los dos hizo algo mal porque el resultado es 'NFHVTUBQSPHSBNBS':

descarga-18

Pero cualquier cosa avisame si te sirve o yo entendí mal el concepto, un saludo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

letras del alfabeto

Publicado por Julian Martinez (2 intervenciones) el 22/04/2018 14:43:12
gracias tío, ahora como ampliarías la funcionalidad del anterior programa con la rotación longitud n (n será un número entero mayor de 0) de un texto.

aclaración; Una rotación de longitud 3 equivale a 3 rotaciones seguidas de longitud 1.

saludos Syaf
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar