Напечатать все согласные буквы, которые входят только в одно слово - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Дан текст из цифр и строчных английских букв, за которыми следует точка. Определить, каких букв – гласных или согласных – больше в этом тексте; напечатать все согласные буквы, которые входят только в одно слово.
Собственно , помогите решить последнею часть : напечатать все согласные буквы, которые входят только в одно слово. Пытался сделать это :
но тут встал вопрос, а как определить кончилось ли слово или нет, я думаю через пробел, но думаю мож есть какая-то процедура ?

Решение задачи: «Напечатать все согласные буквы, которые входят только в одно слово»

textual
Листинг программы
Imports System.Collections.Generic
 
Public Module Main
 
    Public Function Main(ByVal Args() As String) As Integer
        
        ' Количество гласных и согласных
        Dim CountA, CountB As Integer
        
        ' Мы в слове
        Dim IsWord As Boolean = True
        
        ' Коллекция слов из одних лишь согласных
        Dim colB As List(Of String) = New List(Of String)
        ' Строка слова из одних лишь согласных
        Dim strB As String = String.Empty
        
        For Each c As Char In "Greetings! This is a text.".ToLower()
            Select Case c
                Case " ", ",", "!", ".", ";"
                    ' Знак препинания, это значит, что слово закончилось
                    If IsWord Then
                        colB.Add(strB)
                        strB = String.Empty
                    End If
                    IsWord = False
                Case "b", "c", "d", "f", "g", "h", "j", "k", "l", "m", "n", "p", "q", "r", "s", "t", "v", "w", "x", "z"
                    ' Согласные
                    ' Добавляем к строке
                    strB &= c
                    ' Увеличиваем счётчик согласных
                    CountB += 1
                    ' Мы в слове
                    IsWord = True
                Case Else
                    ' Гласная
                    ' Увеличиваем счётчик гласных
                    CountA += 1
                    ' Мы не устанавливаем флаг, что мы в слове, так как гласные нас не интересуют
                    'IsWord = True
            End Select
        Next
        ' Вывод всех слов из одних лишь согласных
        For Each strB In colB
            Console.WriteLine(strB)
        Next
        Console.WriteLine("Количество согласных {0}", CountB)
        Console.WriteLine("Количество гласных {0}", CountA)
    End Function
 
End Module

Оцени полезность:

14   голосов , оценка 4 из 5
Похожие ответы