В мире программирования существует множество интересных и полезных задач, и одной из них является подсчет количества слов в тексте, начинающихся с гласных или согласных букв. Эта задача может быть актуальной в различных сценариях, начиная от анализа текстовых данных и заканчивая созданием инструментов для автоматизации обработки текстов. В данной статье мы рассмотрим, как создать программу подсчета количества слов, начинающихся с гласных или согласных.
C++
Пример программы на C++, которая читает слова по одному за раз, пока не будет введена отдельная буква ‘q’. После этого программа сообщит количество слов, начинающихся с гласных, количество слов, начинающихся с согласных, и количество слов, не попадающих ни в одну из этих категорий:
#include <iostream> #include <cctype> // Для функции isalpha int main() { char input[100]; int vowelWords = 0; int consonantWords = 0; int otherWords = 0; std::cout << "Введите слова (для завершения введите 'q'):\n"; while (true) { std::cin >> input; if (input[0] == 'q' && input[1] == '\0') { break; // Выход из цикла при вводе 'q' } if (isalpha(input[0])) { char firstChar = tolower(input[0]); // Преобразование в нижний регистр if (firstChar == 'a' || firstChar == 'e' || firstChar == 'i' || firstChar == 'o' || firstChar == 'u') { vowelWords++; } else { consonantWords++; } } else { otherWords++; } } std::cout << "Слов, начинающихся с гласных: " << vowelWords << std::endl; std::cout << "Слов, начинающихся с согласных: " << consonantWords << std::endl; std::cout << "Слов, не попадающих ни в одну из этих категорий: " << otherWords << std::endl; return 0; }
Эта программа сначала читает слова и проверяет, начинаются ли они с буквы. Затем она определяет, является ли первая буква гласной или согласной. В конечном итоге программа подсчитывает количество слов в каждой из категорий и выводит результат.
C#
using System; class Program { static void Main(string[] args) { int vowelWords = 0; int consonantWords = 0; int otherWords = 0; Console.WriteLine("Введите слова (для завершения введите 'q'): "); string input; while (true) { input = Console.ReadLine(); if (input == "q") { break; // Выход из цикла при вводе 'q' } if (!string.IsNullOrWhiteSpace(input) && char.IsLetter(input[0])) { char firstChar = char.ToLower(input[0]); if ("aeiou".Contains(firstChar)) { vowelWords++; } else { consonantWords++; } } else { otherWords++; } } Console.WriteLine($"Слов, начинающихся с гласных: {vowelWords}"); Console.WriteLine($"Слов, начинающихся с согласных: {consonantWords}"); Console.WriteLine($"Слов, не попадающих ни в одну из этих категорий: {otherWords}"); } }
Python
def is_vowel(char): vowels = "AEIOUaeiou" return char in vowels def main(): vowel_words = 0 consonant_words = 0 other_words = 0 print("Введите слова (для завершения введите 'q'):") while True: word = input() if word == 'q': break # Выход из цикла при вводе 'q' if word.isalpha() and len(word) > 0: if is_vowel(word[0]): vowel_words += 1 else: consonant_words += 1 else: other_words += 1 print(f"Слов, начинающихся с гласных: {vowel_words}") print(f"Слов, начинающихся с согласных: {consonant_words}") print(f"Слов, не попадающих ни в одну из этих категорий: {other_words}") if __name__ == "__main__": main()
Java
import java.util.Scanner; public class WordAnalyzer { public static void main(String[] args) { int vowelWords = 0; int consonantWords = 0; int otherWords = 0; Scanner scanner = new Scanner(System.in); System.out.println("Введите слова (для завершения введите 'q'):"); while (true) { String word = scanner.next(); if (word.equals("q")) { break; // Выход из цикла при вводе 'q' } if (word.matches("[a-zA-Z]+")) { char firstChar = Character.toLowerCase(word.charAt(0)); if ("aeiou".contains(String.valueOf(firstChar))) { vowelWords++; } else { consonantWords++; } } else { otherWords++; } } System.out.println("Слов, начинающихся с гласных: " + vowelWords); System.out.println("Слов, начинающихся с согласных: " + consonantWords); System.out.println("Слов, не попадающих ни в одну из этих категорий: " + otherWords); } }
Pascal
program WordAnalyzer; var inputWord: string; vowelWords, consonantWords, otherWords: integer; firstChar: char; begin vowelWords := 0; consonantWords := 0; otherWords := 0; writeln('Введите слова (для завершения введите ''q''):'); repeat readln(inputWord); if inputWord = 'q' then Break; // Выход из цикла при вводе 'q' if (Length(inputWord) > 0) and (IsLetter(inputWord[1])) then begin firstChar := LowerCase(inputWord[1])[1]; if firstChar in ['a', 'e', 'i', 'o', 'u'] then Inc(vowelWords) else Inc(consonantWords); end else Inc(otherWords); until False; writeln('Слов, начинающихся с гласных: ', vowelWords); writeln('Слов, начинающихся с согласных: ', consonantWords); writeln('Слов, не попадающих ни в одну из этих категорий: ', otherWords); end.
JavaScript
function isVowel(char) { const vowels = "AEIOUaeiou"; return vowels.includes(char); } function main() { let vowelWords = 0; let consonantWords = 0; let otherWords = 0; console.log("Введите слова (для завершения введите 'q'):"); while (true) { let word = prompt(); if (word === 'q') { break; // Выход из цикла при вводе 'q' } if (word.match(/^[A-Za-z]+$/)) { if (isVowel(word[0])) { vowelWords++; } else { consonantWords++; } } else { otherWords++; } } console.log(`Слов, начинающихся с гласных: ${vowelWords}`); console.log(`Слов, начинающихся с согласных: ${consonantWords}`); console.log(`Слов, не попадающих ни в одну из этих категорий: ${otherWords}`); } main();
PHP
<?php function isVowel($char) { $vowels = "AEIOUaeiou"; return strpos($vowels, $char) !== false; } $vowelWords = 0; $consonantWords = 0; $otherWords = 0; echo "Введите слова (для завершения введите 'q'):\n"; while (true) { $word = trim(fgets(STDIN)); if ($word === 'q') { break; // Выход из цикла при вводе 'q' } if (preg_match('/^[A-Za-z]+$/', $word)) { $firstChar = $word[0]; if (isVowel($firstChar)) { $vowelWords++; } else { $consonantWords++; } } else { $otherWords++; } } echo "Слов, начинающихся с гласных: $vowelWords\n"; echo "Слов, начинающихся с согласных: $consonantWords\n"; echo "Слов, не попадающих ни в одну из этих категорий: $otherWords\n"; ?>