С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
Pakowski398
2 / 2 / 2
Регистрация: 01.10.2016
Сообщений: 66
1

Выделить в тексте заданное слово

10.12.2017, 17:19. Просмотров 734. Ответов 2
Метки нет (Все метки)

С помощью текстового редактора создать файл, содержащий текст, длина которого не превышает 700 символов (длина строки текста не должна превышать 70 символов). Имя файла должно иметь расширение DAT. Написать программу, которая:
· выводит исходный текст на экран дисплея;
· по нажатию произвольной клавиши поочередно выделяет в тексте заданное слово (заданное слово вводить с клавиатуры);
· выводит текст на экран дисплея еще раз, заключая заданное слово в кавычки, и поочередно выделяет заданное слово вместе с кавычками.
____________________________________________________________________________________________________________

Я находил похожие задания в интернете, но поменять под себя не смог, поскольку у нас пропустили эту тему и она попалась мне сейчас, на практике (Чтобы не писали что я сам ничего не хочу делать).
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2017, 17:19
Ответы с готовыми решениями:

Заменить заданное слово в тексте, находящемся в заданном файле, на другое слово.
Заменить заданное слово в тексте, находящемся в заданном файле, на другое слово.

Как выделить заданное слово из произвольного текста ?
Подскажите пожалуйста, Как выделить заданное слово из произвольного текста ?

Удалить в тексте строки, содержащие заданное слово c++
Тип текста string. Помогите пожалуйста :)

Найти в тексте заданное слово и добавить новое перед ним
У меня есть прога. Суть ее в том что она из текстового файла читает информацию...

Текст состоит из слов разной длины. Определить, сколько раз в тексте встречается заданное слово
Чего оно ругается или я вообще дичь сделал? #include <string.h> #include...

2
Геомеханик
792 / 597 / 939
Регистрация: 26.06.2015
Сообщений: 1,409
10.12.2017, 18:36 2
Лучший ответ Сообщение было отмечено Pakowski398 как решение

Решение

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
56
57
58
59
60
61
62
63
64
65
66
67
68
#include <iostream>
#include <sstream>
#include <fstream>
#include <string>
#include <cctype>
#include <cstdlib>
#include <iterator>
#include <conio.h>
#define isdelim(c) (std::isspace((c)) || std::ispunct((c)))
bool readfile(std::istream& _in, std::string& s);
std::string::size_type next_word(std::ostream& _out, const std::string& s, const std::string& w, std::string::size_type p);
 
int main(void){
    std::ifstream fp("file.dat");
    if(!fp.is_open())
        return 1;
 
    std::string s;
    if(!readfile(fp, s))
        return 1;
    fp.close();
 
    std::string w;
    std::cout << "Enter word: ";
    std::cin  >> w;
 
    std::string::size_type p = 0;
    while(1){
        std::system("cls");
        if((p = next_word(std::cout, s, w, p)) == std::string::npos)
            break;
        _getch();
    }
    return 0;
}
 
//выделение слова
std::string::size_type next_word(std::ostream& _out, const std::string& s, const std::string& w, std::string::size_type p){
    std::ostreambuf_iterator<char> _po(_out);
    const std::string::size_type m = w.length();
    while((p = s.find(w, p)) != std::string::npos){
 
        if((!p || isdelim(s[p - 1])) && ((p + m) >= s.length() || isdelim(s[p + m]))){
 
            std::copy(s.begin(), s.begin() + p, _po);
            *_po++ = '"';
            std::copy(w.begin(), w.end(), _po);
            *_po++ = '"';
            std::copy(s.begin() + (p + m), s.end(), _po);
            p += m;
            break;
        } else
            p += m;
    }
    return p;
}
 
//чтение файла
bool readfile(std::istream& _in, std::string& s){
    if(_in.eof() || _in.fail())
        return false;
    std::ostringstream sp;
    std::copy(std::istreambuf_iterator<char>(_in), std::istreambuf_iterator<char>(), std::ostreambuf_iterator<char>(sp));
    s = "";
    if(!_in.fail())
        sp.str().swap(s);
    return (s.length() > 0);
}
1
Pakowski398
2 / 2 / 2
Регистрация: 01.10.2016
Сообщений: 66
10.12.2017, 19:04  [ТС] 3
Спасибо большое!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.12.2017, 19:04

Распечатать строку, которая содержит заданное слово заданное колличество раз
Доброго времени суток. Суть проблемы такова: в написанной программе, вместо...

Распечатать строку, которая содержит заданное слово заданное количество раз
Доброго времени суток! Помогите написать код по заданию! Само задание:...

Определить, в введенном предложении слово, которое состоит из тех же букв, что и заданное ключевое слово.
Ввести предложения и ключевое слово. Определить, в введенном предложении слово,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru