Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Листинг 8.5



#include "stdafx.h"

#include <iostream>

#include <fstream>

using namespace std;

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

{

setlocale(LC_ALL, "Russian");

cout<<"\n"

<<"Задание: Считать текст из файла. Вывести на экран только предложения, \n"

<<"\tсостоящие из заданного количества слов\n"

<<"----------------------------------------\n";

ifstream fin("text.txt",ios::in);

if (! fin)

{

cout<<"Ошибка открытия файла"<<endl;

return 1;

}

int nword;

cout<<"Введите искомое число слов в предложении: ";

cin>>nword;

fin.seekg(0,ios::end);

int len=fin.tellg();

char *buf=new char [len+1];

fin.seekg(0,ios::beg);

fin.read(buf,len);

buf[len]='\0';

int l_beg=0,i=0,n=0,j=0;

bool exist;

exist=false;

while (buf[i])

{

if (buf[i]==' ') n++;

if (buf[i]=='.')

{

n++;

if (n==nword)

{

for(j=l_beg;j<=i;j++)

cout<<buf[j];

exist=true;

cout<<endl;

}

l_beg=i+2;

i=i+2;

n=0;

}

i++;

}

if (!exist) cout<<"Таких предложений не найдено"<<endl;

fin.close();

return 0;

}

Рисунок 8.2 – Файл для входных данных





Дата публикования: 2015-10-09; Прочитано: 281 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...