• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Поиск Слов Из Текста.

  • Автор темы Faul
  • Дата начала
F

Faul

Помогите пожалуйста с программой. Нужно написать программу, которая считывает текст из файла и выводит на экран только предложения, состоящие из заданного количества слов. Файл открывается через: ifstream fin("text.txt, ios::in).
Заранее большое спасибо.
 
W

Whatka

Вы так любезны.Указали даже способ открытия файла(причём с ошибкой).
Но смею вас огорчить любезнейший.

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

Faul

Да, что-то накасячил с кодом.
Вот написал программу, которая осуществляет поиск слова из файла и анализ символов. Но вот как сделать поиск для определенного кол-ва слов.. никак не могу сообразить.

C++:
#include "stdafx.h"
#include <fstream>
#include <iostream>
using namespace std;


int _tmain(int argc, _TCHAR* argv[])
{

const int len=81;
char word[len], line[len];
cout <<"Vvedite clovo dla poiska "; cin >>word;
int l_word=strlen(word);
ifstream fin("text.txt", ios :: in );
if (!fin) {cout <<"Don't worry!!!!"<<endl; return 1;}
int count = 0;
while (fin.getline(line,len)){
char *p=line;
while (p=strstr(p,word)){
char *c=p;				
p+=l_word; 
if (c!=line)
if (!ispunct(*(c-1)) && !isspace(*(c-1))) continue;
if (!ispunct(*p) || !isspace(*p) || (*p == '\0')) count++;
}
cout <<"Kolichestvo vhogdenui slova "<<count<<endl;
}



return 0;
}
 
R

rrrFer

Считываешь предложение, Наверное со 1 слову, последнее слово предложение заканчивается точкой.
Считывать слова можно как то так(не обязательно делать это по 1 символу{как в вашем примере}):
Код:
std ::string str;
std ::ifstream ifst;
ifst .open("fname");
ifst >>str;
при этом не забываешь считать количество слов.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!