Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Aecttann
6 / 6 / 0
Регистрация: 19.10.2013
Сообщений: 327
#1

Вывести все слова из файла, содержащие в себе слово red - C++

30.05.2014, 01:10. Просмотров 492. Ответов 6
Метки нет (Все метки)

Необходимо вывести все слова из файла, содержащие в себе слово red

Вот код:

Кликните здесь для просмотра всего текста
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
#include <iostream>
#include "fstream"
#include <string.h>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"RUS");
    char red [3] ;
    int i;
 
char   b;
b = 'red';
 
    ifstream file;
    ofstream out;
    file.open("red.txt");
    out.open("out.txt");
 
 
for(i=0;!file.eof();i++)
{
 
    file >> red;
 
    if(red == b)
    cout << red;
    out  << red;
 
}
 
    return 0;
 
file.close();
out.close();
 
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2014, 01:10     Вывести все слова из файла, содержащие в себе слово red
Посмотрите здесь:

Вывести на экран все слова предложения, содержащие в качестве подстроки слово w - C++
В строках вообще чёт понять не могу(( пожалуйста объясните хотя алгоритм как делать по подробнее!(( вот задание: С клавиатуры вводится...

Перенести из одного файла все строки, содержащие конкретное слово в другой - C++
Суть в том,чтобы создать 2 файла &quot;file1&quot; и &quot;file2&quot;, в &quot;file1&quot; написан какой то текст,&quot;file2&quot; пустой, нужно из первого файла перенести все...

Строки (вывести все слова, содержащие только латинские буквы) - C++
Здравствуйте, нужно вывести все слова, содержащие только латинские буквы. Задаётся последовательность, в которой слова разделены запятыми,...

В предложении найти и вывести на экран все слова, содержащие ровно две буквы “d” - C++
Всем привет! Помогите написать программу! В предложении найти и вывести на экран все слова, содержащие ровно две буквы “d”. Заранее...

Вывести все строки файла, содержащие более 30 символов - C++
Имеется текстовый файл.Вывести все строки содержащие более 30 символов Ребята помогите решить лабу,на кону моя сессия)В С++

Из текстового файла неизвестного размера вывести на экран все предложения, не содержащие запятых - C++
Привет, Программисты! :) Нужна ваша помощь... Есть задача по поводу работы со строками: &quot;Из текстового файла неизвестного размера вывести...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kerry_Jr
Модератор
Эксперт PHP
2178 / 1974 / 689
Регистрация: 14.05.2014
Сообщений: 5,773
Записей в блоге: 1
Завершенные тесты: 5
30.05.2014, 02:32     Вывести все слова из файла, содержащие в себе слово red #2
Цитата Сообщение от Aecttann Посмотреть сообщение
if(red == b)
Попробуй
C++
1
if(strstr(b, red))
Добавлено через 1 час 10 минут
Точнее лучше так попробуй
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
#include <iostream>
#include <fstream>
#include <cstring>
 
int main()
{
    setlocale(LC_ALL, "");
    
    char red[64];
    char b[] = "red";
    
    std::ifstream input("red.txt");
    std::ofstream output("out.txt");
    
    while (!input.eof())
    {
        input >> red;
        if(strstr(red, b) !=  NULL)
        {
            output << red;
            std::cout << red << std::endl;
        }
    }
    input.close();
    output.close();
    
    return 0;
}
В предыдущем сообщении параметры местами перепутал.
Aecttann
6 / 6 / 0
Регистрация: 19.10.2013
Сообщений: 327
30.05.2014, 10:54  [ТС]     Вывести все слова из файла, содержащие в себе слово red #3
Необходимо сделать не с готовой функцией, а сделать свой метод
Kerry_Jr
Модератор
Эксперт PHP
2178 / 1974 / 689
Регистрация: 14.05.2014
Сообщений: 5,773
Записей в блоге: 1
Завершенные тесты: 5
30.05.2014, 12:20     Вывести все слова из файла, содержащие в себе слово red #4
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
#include <iostream>
#include <fstream>
 
int strlength(const char* str)
{
    int count = 0;
    for (int i = 0; str[i] != '\0'; i++, count++);
    return count;
}
 
bool substr(const char* str1, const char* str2)
{
    int j = 0, count = 0;
    for (int i = 0; i < strlength(str1); i++)
    {
        if (str1[i] == str2[j])
        {
            if(str2[j] == '\0') break;
            count++;
            j++;
        }
    }
    return count == strlength(str2) ? true : false;
} 
 
int main()
{
    setlocale(LC_ALL, "");
    
    char red[64];
    char b[] = "red";
    
    std::ifstream input("red.txt");
    std::ofstream output("out.txt");
    
    while (!input.eof())
    {
        input >> red;
        std::cout << red << std::endl;
        if(substr(red, b))
        {
            output << red << " ";
            //std::cout << red << std::endl;
        }
    }
    input.close();
    output.close();
    
    return 0;
}
Kuzia domovenok
1890 / 1745 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
30.05.2014, 12:24     Вывести все слова из файла, содержащие в себе слово red #5
судя по этому,
Цитата Сообщение от Aecttann Посмотреть сообщение
char b; b = 'red';
тебе ещё рано писать программы со строками, тебе, для начала нужно понять, что char это не строковый тип!
Kerry_Jr
Модератор
Эксперт PHP
2178 / 1974 / 689
Регистрация: 14.05.2014
Сообщений: 5,773
Записей в блоге: 1
Завершенные тесты: 5
30.05.2014, 13:11     Вывести все слова из файла, содержащие в себе слово red #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Извиняюсь за нерабочий вариант substr. Вот переделал
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
bool substr(const char* str1, const char* str2)
{
    int j = 0;
    for (int i = 0; i < strlength(str1); i++)
    {
        if (str2[j] == str1[i] && j < strlength(str2))
            j++;
        else if (j == strlength(str2)) 
            break;
        else
            j = 0;
    }
    return j == strlength(str2) ? true : false;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.06.2014, 14:37     Вывести все слова из файла, содержащие в себе слово red
Еще ссылки по теме:

Вывести на экран все слова, содержащие букву "k" - C++
дана строка. вывести на экран все слова, содержащие букву k. заранее большое спасибо.

Вывести строку, в которой все вхождения первого слова заменены на второе слово - C++
Ввести строку и два слова. Вывести строку, в которой все вхождения первого слова заменены на второе слово. Программу на Си. ...

Напечатать те слова, которые состоят из всех букв, что и слово "red" - C++
Напечатать те слова, которые состоят из всех букв, что и слово &quot;red&quot;. Повторения допускаются. Слово находится в файле red.txt. #include...

Вывести все слова, которые имеют четную длину и содержат в качестве подстроки последнее слово - C++
Вывести все слова (под словом понимается непустая последовательность символов, не содержащих пробелов) во введенном предложении (и их...


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

Или воспользуйтесь поиском по форуму:
Aecttann
6 / 6 / 0
Регистрация: 19.10.2013
Сообщений: 327
06.06.2014, 14:37  [ТС]     Вывести все слова из файла, содержащие в себе слово red #7
Допустим, в файле есть слово asdrredasd
Тогда это слово не выводится, как это исправить?

Добавлено через 15 минут
Может, нужен ещё один цикл, в котором мы будем делать проверку?
Yandex
Объявления
06.06.2014, 14:37     Вывести все слова из файла, содержащие в себе слово red
Ответ Создать тему
Опции темы

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