
Написать программу, которая считывает английский текст из файла и выводит его на экран, заменив
каждую первую букву слов, начинающихся с гласной буквы, на происходящую.

Ответы на вопрос

Ответ:
Объяснение:
C++Выделить код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
/*
*Лабораторная работа: 7.
*Тема: Строки и файлы. Организация работы со строками и файлами.
*Пункт: 5.2. Файловый тип данных.
*Файл: Lab07_YaP_2019_1S.pdf
*
*Язык: C++.
*Среда: Microsoft Visual Studio 2019 v16.3.0.
*Платформа: x64.
*Изменение: 06.01.2020.
*
*Вариант: 13.
*Защита: 15.11.2019.
*Задание: БН. Написать программу, которая считывает Английский текст из файла и выводит его на экран, заменив каждую первую букву слов,
* начинающихся с гласной буквы, на прописную.
*/
#include <iostream> // Треб. для SETLOCATE, PRINTF, GETLINE, STRLEN, CIN, COUT. //
#include <fstream> // Требуется для FSTREAM. //
#include "Header.h"
void main () {
setlocale (LC_ALL, "Russian");
char SourceArray [Dimension + 1] = " "; // SOURCEARRAY [100] = 101 (для "\0"). //
char LettersArray [Dimension - 72] = " "; // [0]..[25] = 1..26 (для ввода с клавиатуры), [26] = 27
char PathTextFile [Dimension + 1] = " "; // (для "\0"). //
printf ("1. Латинский алфавит (26 букв): a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z.\n\n2. Введите"
" путь и имя файла (до %d символов, включительно): ", Dimension);
cin.getline (PathTextFile, Dimension);
fstream TextFile (PathTextFile, ios::trunc | ios::in | ios::out); // TRUNC - создание, IN - режим записи, OUT - режим чтения. //
if (!TextFile) {
MessageFunction (); // Выводится на экран, если файл открыть не удалось. //
}
printf ("\n3. Введите строчные Латинские буквы, которые следует заменить на прописные (до %d символов, включительно):\n\n",
Dimension - 73);
cin.getline (LettersArray, Dimension - 72);
if (strlen (LettersArray) < 1) {
TextFile.close (); // Закрытие файла. //
MessageFunction ();
}
printf ("\n4. Введите строку (до %d символов, включительно):\n\n", Dimension);
cin.getline (SourceArray, Dimension);
if (strlen (SourceArray) < 1) {
TextFile.close (); // Закрытие файла. //
MessageFunction ();
}
TextFile << SourceArray; // Запись SOURCEARRAY в файл. //
TextFile.close (); // Закрытие файла. //
ChangeFunction (LettersArray, PathTextFile);
printf ("\n5. Исходная строка после замены:\n\n");
WriteArrayFunction (PathTextFile);
remove (PathTextFile); // Удаление файла. //
cout << endl << endl;
ExitProgramFunction ();
}



Для решения данной задачи, мы можем использовать следующий алгоритм:
1. Открыть файл для чтения. 2. Прочитать текст из файла. 3. Разделить текст на слова. 4. Для каждого слова в тексте: - Проверить, начинается ли оно с гласной буквы (a, e, i, o, u). - Если да, заменить первую букву на происходящую и сохранить изменения. - Если нет, оставить слово без изменений. 5. Вывести измененный текст на экран. 6. Закрыть файл.
Вот пример реализации данного алгоритма на языке Python:
```python def replace_vowel(word): vowels = ['a', 'e', 'i', 'o', 'u'] if word[0].lower() in vowels: return word[0] + 'роисходящая' + word[1:] return word
def replace_vowels_in_text(file_name): try: with open(file_name, 'r') as file: text = file.read() words = text.split() modified_words = [replace_vowel(word) for word in words] modified_text = ' '.join(modified_words) print(modified_text) except FileNotFoundError: print("Файл не найден.")
replace_vowels_in_text('example.txt') ```
В этом примере функция `replace_vowel` принимает слово и проверяет, начинается ли оно с гласной буквы. Если да, она заменяет первую букву на происходящую, добавляет 'роисходящая' и возвращает измененное слово. Если слово не начинается с гласной буквы, оно остается без изменений.
Функция `replace_vowels_in_text` открывает файл с заданным именем, считывает текст, разделяет его на слова, заменяет первую букву каждого слова, начинающегося с гласной, и выводит измененный текст на экран.
Обратите внимание, что в примере используется файл 'example.txt'. Вы можете заменить это имя на имя вашего файла или предоставить свой собственный файл с английским текстом для чтения.


Похожие вопросы







Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili