Предмет: Информатика, автор: azimgames1106

Помогите с информатикой, писать на С++

З клавіатури вводиться текстовий рядок. Розробити програму, яка
реалізує вказані дії.

а) підраховує кількість слів у тексті, які закінчуються на голосну літеру;
б) виводить на екран всі слова, довжина яких менша п'яти символів;
в) видаляє всі слова, які містять хоча б одну латинську літеру.

Ответы

Автор ответа: PPPOPOCHE
1

Один з можливих способів реалізації програми може бути наступним:

#include <iostream>

#include <cstring>

using namespace std;

// Функція, що перевіряє, чи є символ голосною літерою

bool isVowel(char ch) {

return ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u';

}

// Функція, що перевіряє, чи є символ латинською літерою

bool isLatin(char ch) {

return (ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z');

}

int main() {

// Введення тексту

cout << "Enter a text string: ";

string text;

getline(cin, text);

// Розбиття тексту на слова

string words[100];

int wordCount = 0;

int wordStart = -1;

for (int i = 0; i < text.length(); i++) {

if (text[i] == ' ' || text[i] == '\n' || text[i] == '\t') {

if (wordStart != -1) {

words[wordCount++] = text.substr(wordStart, i - wordStart);

wordStart = -1;

}

}

else if (wordStart == -1) {

wordStart = i;

}

}

if (wordStart != -1) {

words[wordCount++] = text.substr(wordStart, text.length() - wordStart);

}

// Завдання а)

int vowelEndingCount = 0;

for (int i = 0; i < wordCount; i++) {

if (isVowel(words[i][words[i].length() - 1])) {

vowelEndingCount++;

}

}

cout << "Number of words ending with a vowel: " << vowelEndingCount << endl;

// Завдання б)

cout << "Words with length less than 5: ";

for (int i = 0; i < wordCount; i++) {

if (words[i].length() < 5) {

cout << words[i] << " ";

}

}

cout << endl;

// Завдання в)

cout << "Text without words containing latin letters: ";

for (int i = 0; i < wordCount; i++) {

bool hasLatin = false;

for (int j = 0; j < words[i].length(); j++) {

if (isLatin(words[i][j])) {

hasLatin = true;

break;

}

}

if (!hasLatin) {

cout << words[i] << " ";

}

}

cout << endl;

return 0;

}


azimgames1106: Можешь еще помочь мне с програмированием? У меня на странице 2 задания ещё по 60 баллов
Похожие вопросы