elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Ingresar una oracion, toma cada palabra y contar sus vocales(Solucionado)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ingresar una oracion, toma cada palabra y contar sus vocales(Solucionado)  (Leído 1,642 veces)
01munrra

Desconectado Desconectado

Mensajes: 281



Ver Perfil
Ingresar una oracion, toma cada palabra y contar sus vocales(Solucionado)
« en: 29 Septiembre 2015, 13:03 »

Hola amigos!, estoy haciendo un codigo que me piden: dada una oracion, tomar cada palabra de dicha oracion una ves contar las vocales de cada palabra y mostrarla. He programado lo siguiente:

Código
  1. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles procesar.Click
  2.  
  3.        Dim palabra(), oracion() As String
  4.        Dim letra As String
  5.        Dim indice As String = 1
  6.        Dim contar_vocal As Integer = 0
  7.        Dim i As Integer
  8.  
  9.        oracion = Split(TextBox1.Text)
  10.  
  11.        For i = 0 To Len(TextBox1.Text)
  12.            If i > 0 Then
  13.                For long_pal = 1 To Len(oracion(i)) + 1
  14.                    letra = Mid(oracion(i), 1, long_pal)
  15.  
  16.                    Select Case letra
  17.                        Case "a"
  18.                            contar_vocal = contar_vocal + 1
  19.                        Case "A"
  20.                            contar_vocal = contar_vocal + 1
  21.                        Case "e"
  22.                            contar_vocal = contar_vocal + 1
  23.                        Case "E"
  24.                            contar_vocal = contar_vocal + 1
  25.                        Case "i"
  26.                            contar_vocal = contar_vocal + 1
  27.                        Case "I"
  28.                            contar_vocal = contar_vocal + 1
  29.                        Case "o"
  30.                            contar_vocal = contar_vocal + 1
  31.                        Case "O"
  32.                            contar_vocal = contar_vocal + 1
  33.                        Case "u"
  34.                            contar_vocal = contar_vocal + 1
  35.                        Case "U"
  36.                            contar_vocal = contar_vocal + 1
  37.                    End Select
  38.                    letra = ""
  39.                Next
  40.                '                mostrar.Items.Add(letra)
  41.                ' mostrar.Items.Add(oracion(i))
  42.                ' mostrar.Items.Add(" Numeros de Vocales: ")
  43.                ' mostrar.Items.Add(contar_vocal)
  44.                contar_vocal = 0
  45.            Else
  46.                '  mostrar.Items.Add(oracion(i))
  47.            End If
  48.            i = i + 1
  49.        Next
  50.  
  51.    End Sub
  52.  

me arroja un error en:
Código
  1. For long_pal = 1 To Len(oracion(i)) + 1
el siguiente Información adicional: Índice fuera de los límites de la matriz.

me pueden ayudar?...


« Última modificación: 30 Septiembre 2015, 03:59 por 01munrra » En línea

rob1104


Desconectado Desconectado

Mensajes: 340


Usuario común


Ver Perfil WWW
Re: Ingresar una oracion, toma cada palabra y contar sus vocales
« Respuesta #1 en: 29 Septiembre 2015, 20:05 »

Hola, creo que tu código está muy rebuscado, que tal algo así para que te bases un poco:

Código
  1. Dim palabras() As String = txtOracion.Text.Split(" ")   'txtOracion es un textbox
  2. Dim contador = 0
  3. For i = 0 To palabras.Count() - 1
  4.    For j = 0 To palabras(i).Length - 1
  5.         If palabras(i)(j) = "a" Or palabras(i)(j) = "A" _
  6.             Or palabras(i)(j) = "e" Or palabras(i)(j) = "E" _
  7.             Or palabras(i)(j) = "i" Or palabras(i)(j) = "I" _
  8.             Or palabras(i)(j) = "o" Or palabras(i)(j) = "O" _
  9.             Or palabras(i)(j) = "u" Or palabras(i)(j) = "U" Then
  10.                    contador += 1
  11.           End If
  12.     Next
  13. Next
  14. lblVocales.Text = contador.ToString()    'lblVocales es un Label
  15.  

Esto te cuentas vocales de toda oración... ya te toca a ti separarlas por palabra si lo requieres.


« Última modificación: 29 Septiembre 2015, 20:07 por rob1104 » En línea

Sin análisis de requisitos o sin diseño, programar es el arte de crear errores en un documento de texto vacío.
01munrra

Desconectado Desconectado

Mensajes: 281



Ver Perfil
Re: Ingresar una oracion, toma cada palabra y contar sus vocales
« Respuesta #2 en: 30 Septiembre 2015, 03:46 »

Gracias! ;-) ;-) me ayudo bastante...... practicamente hicistes todo, solo falto mostrar

Código
  1.        Dim oracion() As String
  2.        Dim contar_vocal As Integer = 0
  3.  
  4.        oracion = Split(TextBox1.Text)
  5.        For i = 0 To oracion.Count() - 1
  6.            If oracion(i) <> " " Then
  7.                For j = 0 To oracion(i).Length - 1
  8.                    If oracion(i)(j) = "a" Or oracion(i)(j) = "A" Or
  9.                       oracion(i)(j) = "e" Or oracion(i)(j) = "E" Or
  10.                       oracion(i)(j) = "i" Or oracion(i)(j) = "I" Or
  11.                       oracion(i)(j) = "o" Or oracion(i)(j) = "O" Or
  12.                       oracion(i)(j) = "u" Or oracion(i)(j) = "U" Then
  13.                        contar_vocal = contar_vocal + 1
  14.                    End If
  15.                Next
  16.                mostrar.Items.Add(oracion(i) & " Nº Vocales: " & contar_vocal)
  17.                contar_vocal = 0
  18.            End If
  19.        Next
  20.  
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines