Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: dimdln   (27.06.2007 в 21:46)
Спасибо, Alex! Поплавская тоже помогла. В результате родилось такое решение.
Теперь предложение надо поместить в структуру (какую - пока не знаю) и
попроботать написать программу анализа предложения

// sentences.cpp Программа считывает в буфер текстовый файл,
// находит признак конца предложения и выводит предложение куда
// хотите (в файл, на экран, в структуру и т.д.)
// Microsoft visual c++ Express 2005 Edition

#include <stdafx.h>
#include <stdio.h>
#include <fstream>
#include <iostream>

using namespace std;

int main() {
ifstream fin("D:\\MyLib\\mozgtest.txt",ios::in) ;

if (!fin) {cout << "невозмжно открыть файл"
<< endl; return -1;}
fin.seekg(0,ios::end); //перемещение текущей позиции в

конец
long len = fin.tellg(); // определение длины АЙЛА
char* buf =new char[len+1]; // выделяет len+1 байтов под буфер

buf
fin.seekg(0,ios::beg); //перемещение текущей позиции снова в

начало
fin.read(buf,len); // считывает файл в буфер
buf[len] ='\0'; // нуль-символ - признак конца

масива
//-------------

int n=0, i=0,j=0;
int count =0; // количество предложений в

тексте
while(buf[i]) { //читает буфкр до тех пор, пока

не встретит \0
if(buf[i] == '.' || buf[i]=='?' || buf[1] == '!'){
for(j==n; j<=i; ++j) // ОБЯЗАТЕЛЬНО ==, иначе не

работает
cout << buf[j] ; cout << endl;
count++;
}
n = i+1;
i++;
}
cout << "Всего предложений в файле " << count << endl;
fin.close();
return 0;
}
//21:32 27.06.2007 dimdln


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: