Bueno les traigo un pequeño reto de Programacion a mi me gusto mucho esta idea:
/*Teniendo un arreglo de 10 elementos tipo String construya un programa que
* permita el ingreso de palargas en cada casillero
* a)Muestre un listado de las palabras ingresadas pero habiendo convertido a mayusculas:
* la letra del medio de aquellas palabras cuyo numero de letras es impar
* b)la ultima letra de aquellas palabras cuyo numero de letras es par
* para lograr lo anterior se creara una funcion con siguientes caracteristicas,
* i)nombre: a_mays
* ii)argumento:el elemento del arreglo
* iii)tipo de devolucion string q contendra la palabra con su letra correspondiente convertidas a mayusculas
* iiii)el programa principal recivira el resuntaldo de la funcion reemplazando
* el valor existente del arreglo y luego mostrando como quedo el arreglo modificado
*/
Completado Por: HckDrk
My Code en Java:
import javax.swing.JOptionPane;
public class EjercicioProg1 {
public static void main(String[] args) {
String Palabras[] = new String[10];
for (int i = 0; i < Palabras.length; i++) {
Palabras[i]=JOptionPane.showInputDialog("Ingrese una Palabra");
Palabras[i]=a_mays(Palabras[i]);
}
for (int i = 0; i < 10; i++) {
System.out.println(""+Palabras[i]);
}
}
public static String a_mays(String Entrada){
String Salida="";
int EnteroLMayus=0;
char MayusPar[]=new char[Entrada.length()];
char MayusIm[]=new char[Entrada.length()];
for (int i = 0; i < Entrada.length(); i++) {
MayusPar[i]=Entrada.charAt(i);
MayusIm[i]=Entrada.charAt(i);
}
if ((MayusPar.length%2)==0) {
MayusPar[MayusPar.length-1]=(char)(((int)(MayusPar[MayusPar.length-1]))-32);
Salida=Salida.valueOf(MayusPar);
}else{
MayusIm[(Entrada.length()/2)]=(char)((int)(MayusIm[(Entrada.length()/2)])-32);
Salida=Salida.valueOf(MayusIm);
}
return Salida;
}
}
se ve bueno, hace tiempo hice algo asi, ahora tratare de hacerlo ;D
ahora que es viernes me he hecho un pequeño espacio para hacer esto pero... uhm... no entendí muy bien :/
yo lo hice en PHP, no dice en que lenguaje, así que creo que vale! ;D
hice lo que entendí, hacer una función que a las palabras impares, la letra de en medio se cambie a mayúscula, y las palabras pares, la ultima letra se cambie a mayúscula, después hacer un array de 10 elementos y pasar cada palabra del array por la función que hemos hecho y mostrar la palabra modificada... xD
bueno, aquí les dejo mi pequeño código feo en PHP xD
y aquí el link para que vean como funciona! ^^ http://hckdrk.webcindario.com/function_Wrg.php
<?php
function a_mays($palabra){
$palabra=strtolower($palabra);
$num=strlen($palabra);
if ($num%2==0){
$palabra=substr($palabra,0,-1).strtoupper(substr($palabra,-1));
}else{
$mitad=round($num/2)-1;
$uno=substr($palabra,0,$mitad);
$dos=substr($palabra,$mitad+1,$num);
$letra=strtoupper($palabra[$mitad]);
$palabra=$uno.$letra.$dos;
}
return $palabra;
}
$palabras=array("undercode","HckDrk","Mama","Television","Radio","Foro","Programacion","PHP","Hacking","everywhere");
for($i=0;$i<count($palabras);$i++){
echo a_mays($palabras[$i])."<br>";
}
?>
Saludos!! ;D
EDITADO!
también se me ocurrió hacerlo así, no se si sea mas fácil o difícil xDD
<?php
function a_mays($palabra){
$palabra=strtolower($palabra);
$num=strlen($palabra);
if ($num%2==0){
for($i=0;$i<$num;$i++){
if($i==$num-1){
$palabra[$i]=strtoupper($palabra[$i]);
}
}
}else{
$mitad=round($num/2)-1;
for($i=0;$i<$num;$i++){
if($i==$mitad){
$palabra[$i]=strtoupper($palabra[$i]);
}
}
}
return $palabra;
}
$palabras=array("undercode","HckDrk","Mama","Television","Radio","Foro","Programacion","PHP","Hacking","everywhere");
for($i=0;$i<count($palabras);$i++){
echo a_mays($palabras[$i])."<br>";
}
?>
aquí lo pueden ver, es el mismo resultado... http://hckdrk.webcindario.com/function_Wrg2.php
Saludos!!! ;D