Пример 1
В листинге 1 представлена программа, которая читает текст из файла и выводит на экран слова, начинающиеся с гласных букв.
Для создания программы использовалась среда разработки Qt Creator 3.0 (основан на Qt 5.2.0). На рисунке 1 показан состав проекта программы.
Рисунок 1 – Состав проекта программы
Создание проекта в Qt Creator: Файл -> Новый файл или проект … -> Проект без использования Qt -> Простой проект на С++.
Компиляция, сборка и выполнение проекта: Сборка -> Запустить.
На рисунке 2 показан файл с текстом и результат выполнения программы.
Листинг 1
// main.cpp
#include <iostream>
#include <string>
#include <cstring>
#include <fstream>
#include <sstream>
using namespace std;
int main()
{ bool fl = false; string str = "";
try
{ ifstream fp("E:\\Dir\\info.txt");
if(! fp.is_open()) throw "\nОшибка: Файл не найден!";
string s("АаУуОоЫыИиЭэЯяЮюЕе"), temp;
while(getline(fp, temp))
str = str + temp + ' ';
cout << str << endl;
char * si_str = new char[str.size()+1];
strcpy(si_str, str.c_str() );
char * tokenPtr;
cout << "Слова: " << endl;
tokenPtr = strtok(si_str, " ;-,.");
stringstream ss;
while (tokenPtr != NULL)
{ cout << tokenPtr << endl;
ss << tokenPtr << ' ';
tokenPtr = strtok(NULL," ;-,.");
}
cout << "Слова, начинающиеся с гласной буквы: " << endl;
while(ss >> temp)
if (s.find(temp[0]) != string::npos)
{ cout << temp << endl;
fl = true;
}
if (fl != true) cout << "Нет слов, начинающихся с гласной буквы!" << endl;
fp.close();
}
catch (const char *str)
{ cout << str << endl; }
return 0;
}
Рисунок 2 – Результат выполнения программы
Задание 2
Написать программу на Java для решения задачи индивидуального варианта. Обработку текстовой информации организовать с использованием строк String или StringBuilder (StringBuffer).
Индивидуальные варианты:
Считать строку текста из файла. Подсчитать в строке число букв А и число букв В, если букв А больше, чем В, то удалить в строке все буквы В.
Считать строку текста из файла. Подсчитать количество слов, начинающихся на заданную букву.
Считать строку текста из файла. Найти длину самого длинного и самого короткого слова.
Считать строку текста из файла. Найти слова, начинающиеся и заканчивающиеся на одну и ту же букву.
Считать строку текста из файла. Проверить, можно ли из введенных символов составить данную строку.
Считать строку текста из файла. Другую строку ввести с клавиатуры. Изъять из первой строки все слова, которые встречаются во второй.
Считать текст из файла. Вывести на экран только вопросительные предложения.
Считать текст из файла. Вывести на экран слова, начинающиеся с гласных букв.
Считать строку текста из файла. Определить, сколько в ней слов, состоящих из не более чем четырех букв.
Считать текст из файла и вывести на экран только предложения, состоящие из заданного количества слов.
Считать строку текста из файла. Вывести на экран слова текста, начинающиеся и оканчивающиеся на гласные буквы.
Считать строку текста из файла. Заменить каждую первую букву слов, начинающихся с гласной буквы, на прописную.
Считать строку текста из файла. Заменить цифры от 0 до 9 на слова «ноль», «один», …, «девять».
Считать строку текста из файла. Найти самое длинное слово и определить, сколько раз оно встретилось в тексте.
Считать строку текста из файла. Строка содержит буквы латинского алфавита и цифры. Найти слова, содержащие максимальное количество цифр.