Напечатать все согласные буквы, которые входят только в одно слово - 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