Reto Programacion

Iniciado por Muppet, Noviembre 08, 2012, 02:42:06 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Noviembre 08, 2012, 02:42:06 AM Ultima modificación: Enero 04, 2014, 05:06:41 PM por fermino
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:
Código: text


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;
               
                } 
        }


Entonces él dijo, "cruzad con vuestras tropas y atacad porque es lo único que le queda a nuestro pueblo...".

se ve bueno, hace tiempo hice algo asi,  ahora tratare de hacerlo  ;D

Noviembre 10, 2012, 03:21:02 AM #2 Ultima modificación: Noviembre 10, 2012, 03:35:38 PM por HckDrk
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! ^^ You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Código: text

<?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

Código: text

<?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... You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login


Saludos!!!  ;D