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: php


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! ^^ No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Código: 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

Código: php

<?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... No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


Saludos!!!  ;D