Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/25: Рейтинг темы: голосов - 25, средняя оценка - 4.60
1 / 1 / 1
Регистрация: 12.01.2017
Сообщений: 19
1

Найти строку, начинающуюся с заданного слова, в текстовом файле

05.02.2017, 13:37. Показов 5241. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет. У меня тут проблема возникла с поиском слова в текстовом файле.
У меня есть текстовый файл, который называется "file.txt", в нем записаны данные примерно так:

tralala 345 ololo
tramvay guol 5656
lelgfl 5657 fgfgfg

Я ввожу например слово tulup, и программа должна проверить есть ли такое слово в файле! Но не все так просто программа должна проверять только из первых слов всех строк, т.е. мне дана строка в файле tralala 345 ololo, программа должна проверять есть ли такое слово только по первому слову из строки т.е. а данном случае по слову tralala, потом в следующей строке ищет по первому сову из строки tramvay, потом по lelgfl.

Срочно, помогите пожалуйста!!!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.02.2017, 13:37
Ответы с готовыми решениями:

Получить соседние слова от заданного в текстовом файле
Возник такой вопрос есть огромный текст и в нем, на пример, есть слова Дядя Степа великан слово...

В текстовом файле каждую вторую строку разбить на слова
Задача:в текстовом файле каждую вторую строку разбить на слова.Результат вывести в другой файл. С...

Найти в текстовом файле строку по заданному слову и заменить ей определённую часть строки в другом файле
Всех с Новым Годом! Наверное избитая тема, но все же... Задача такая: Существует два файла:...

В текстовом файле найти строку с наибольшим количеством символов (считать, что такая строка в файле одна)
Всем привет)) В текстовом файле найти строку с наибольшим количеством символов (считать, что...

4
331 / 283 / 78
Регистрация: 02.08.2016
Сообщений: 1,008
05.02.2017, 13:43 2
считываешь построчно, дальше проверяешь, начинается ли строка на твоё слово + пробельный символ/символ табуляции
0
192 / 166 / 82
Регистрация: 01.07.2016
Сообщений: 943
05.02.2017, 14:05 3
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
#include <fstream>
#include <iostream>
 
using namespace std;
 
int main()
{
    ifstream fin("c:\input.txt");
    string s1,s2,s3,s,sr;
    getline(fin,s1);
    getline(fin,s2);
    getline(fin,s3);
    cin>>s;
    for(int i=0;i<s1.length();++i)
    {
        if(s1[i]==' ')
        {
        if(sr==s){
        cout<<"YES";
        return 0;
        }
        break;
        }
        else sr=sr+s1[i];
    }
    sr="";
    for(int i=0;i<s2.length();++i)
    {
        if(s2[i]==' ')
        {
        if(sr==s){
        cout<<"YES";
        return 0;
        }
        break;
        }
        else sr=sr+s2[i];
    }
    sr="";
    for(int i=0;i<s3.length();++i)
    {
        if(s3[i]==' ')
        {
        if(sr==s){
        cout<<"YES";
        return 0;
        }
        break;
        }
        else sr=sr+s3[i];
    }
    cout<<"NO";
    return 0;
}
на скорую руку
1
Эксперт С++
1624 / 954 / 782
Регистрация: 06.02.2016
Сообщений: 2,452
Записей в блоге: 31
05.02.2017, 14:13 4
Лучший ответ Сообщение было отмечено Tadeem как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main(){
    ifstream ff("tr.txt");
    string s{},word{};
    cin>>word;
    bool f=false;
    while(getline(ff,s)){
        if(s.substr(0,word.length())==word){
            f=true;
            break;
        }
    }
    cout<<(f? "true":"false");
}
Добавлено через 7 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main() {
    ifstream ff("tr.txt");
    string s {},word {};
    cin>>word;
    bool f=false;
    while(getline(ff,s)) {
        if(s.find(word)!=string::npos && s.find(word)<s.find(' ')) {
            f=true;
            break;
        }
    }
    cout<<(f? "true":"false");
}
1
192 / 166 / 82
Регистрация: 01.07.2016
Сообщений: 943
05.02.2017, 14:14 5
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
#include <fstream>
#include <iostream>
 
using namespace std;
 
bool S(string ss, string s)
{
    string sr;
for(int i=0;i<ss.length();++i)
    {
        if(ss[i]==' ')
        {
        if(sr==s){
        return true;
        }
        break;
        }
        else sr=sr+ss[i];
    }
    return false;
}
 
int main()
{
    ifstream fin("c:\input.txt");
    string s1,s2,s3,s;
    getline(fin,s1);
    getline(fin,s2);
    getline(fin,s3);
    cin>>s;
    if(S(s1,s) || S(s2,s) || S(s3,s)){
        cout<<"YES";
        return 0;
    }
    cout<<"NO";
    return 0;
Вот чуточку улучшил
1
05.02.2017, 14:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.02.2017, 14:14
Помогаю со студенческими работами здесь

Необходимо в текстовом файле найти определенную строку, в которой имеется спец.символ и удалить строку
К примеру в файле есть записи: Привет Привет Хороший День Мне нужно, что бы запись с символом...

Вывести строку,начинающуюся с определённого слова
Добрый день!Моя задача заключается в том,чтобы при желании пользователя программа выводила...

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

В текстовом файле найти строку
Помогите пожалуйста! Создаю текстовый файл, записываю в него строки. Вопрос такой: как найти...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru