Hola!

Registrándote como bakuno podrás publicar, compartir y comunicarte en privado con otros bakuos :D

Regístrame ya!

Programa String

iDager

Bovino maduro
Desde
20 Jun 2010
Mensajes
466
Hola queria ver si me ayudaban,me pidieron un programa que pida una cadena de texto y cuente las vocales y consonantes de la misma, el problema es ke me cuenta los espacios en blanco, hay alguna forma de borrarlos O de meter todas las consonantes sin hace un case para cada una???

String frase = Input.readString();


int a, e, i, o, u;
a = e = i = o = u = 0;


int longitud = frase.length();

int indice = 0;

char letra;
int r;
int c;
do {
letra = frase.charAt(indice);

switch(letra) {
case 'a':
case 'á':
case 'A':
a++;
break;
case 'e':
case 'é':
case 'E':
e++;
break;
case 'i':
case 'í':
case 'I':
i++;
break;
case 'o':
case 'ó':
case 'O':
o++;
break;
case 'u':
case 'ú':
case 'U':
u++;
break;

default:
break;
}

indice++;
}while(indice < longitud);

r=a+e+i+o+u;
System.out.println("Cantidad de vocales en la frase: " + r);
c=longitud-r;
System.out.println("Cantidad de consonantes en la frase: " + c);
}

}
 
pues no es que cuente los espacios, lo que pasa es de que a la logitud de la cadena le restas todas las ocurrencias de vocales, por lo tanto va a restar solo las vocales encontradas a la longitud, tons para seguir con la logica que tienes, crea una variable para llevar el conteo de los espacios, y tambien incluyela en el switch, y a la hora de sumar "r" no incluyas la variable de espacios, pero a la hora de sacar "c" pues hai si incluyela, osea, a la longitud le restas las vocales y tambien los espacios, suerte con tu programa...
 
ese siempre viene de ejemplo en los libros de deitel de c/c++ solo es cuestion de buscarlo y reacomodarlo.

ignoro en que estes programando, pero si es c# puedes usar un replace para eliminar los espacios en blanco y al string hacerle un ToArray() para que de devuelva un arreglo de caracteres y a partir de ahi contarlos o bien recorrer tu String con un foreach
 
Hola carnal mira no se en que lenguaje estas programando pero ese me lo pidieron
en un taller que lleve hace poco este es solo para las vocales le agregas o modificas para consonantes tambien.
esta hecho en C# si te sirve me comentas
bueno es sencillo pones un textbox en este caso
yo lo tengo en su ID=tbcadena
y un boton para que al dar clic te cuente las vocales

Código:
        private void button1_Click(object sender, EventArgs e)
        {
            string palabra;
            int cont=0;
            int va = 0, ve = 0, vi = 0, vo = 0, vu = 0;
            palabra = tbcadena.Text;
            palabra.Length.ToString();
            palabra=palabra.ToUpper();
            for (int i = 0; i < palabra.Length; i++)
            {
                if (palabra[i] == 'A' || palabra[i] == 'E' || palabra[i] == 'I' || palabra[i] == 'O' || palabra[i] == 'U')
                {
                    if (palabra[i] == 'A')
                        va++;
                    if (palabra[i] == 'E')
                        ve++;
                    if (palabra[i] == 'I')
                        vi++;
                    if (palabra[i] == 'O')
                        vo++;
                    if (palabra[i] == 'U')
                        vu++;
                    cont++;
                }
                lblcadena.Text = cont.ToString();
                lblva.Text = va.ToString();
                lblve.Text = ve.ToString();
                lblvi.Text = vi.ToString();
                lblvo.Text = vo.ToString();
                lblvu.Text = vu.ToString();
            }
            lblMayuscula.Text = palabra.ToUpper();
            lblMinuscula.Text = palabra.ToLower();
            lblva.Visible = true;
            lblve.Visible = true;
            lblvi.Visible = true;
            lblvo.Visible = true;
            lblvu.Visible = true;
        }
 
es en java, gracias seugire intentando haber is sale :P
 
perdon por el doble post, pero esta fue la forma mas facil de hacerlo :P gracias por sus respuestas
public class prueba {

public static void main(String ... args) {
String cadena = "Esta es una cadena para ver cuantos caracteres tiene sin los espacios";
// elimina todos los espacios en blanco.
cadena = cadena.replaceAll(" ","");
// el length de la cadena es la longuitud total sin espacios
System.out.println("Total : " + cadena.length ());
}
}
 
Volver
Arriba