#include <fstream>
#include <iostream>
#include <stdio.h>
#include <conio.h>
int main( )
{
clrscr( ) ;
ifstream fin( "text.txt" , ios:: in | ios:: nocreate ) ;
if ( ! fin)
{
cout << "Oshibka otkritija faila" << endl;
getch( ) ;
return 1 ;
}
fin.seekg ( 0 , ios:: end ) ;
long len= fin.tellg ( ) ;
char * buf= new char [ len+ 1 ] ;
fin.seekg ( 0 , ios:: beg ) ;
fin.read ( buf, len) ;
buf[ len] = '\0 ' ;
long n= 0 , i= 0 , j= 0 , flag= - 1 ; //флаг - переменная в которую записывается позиция начала цитаты
while ( buf[ i] ) //тут перебирается весь текст в буфере пока не встретится /0
{
if ( buf[ i] == '"' ) //если встречаются ковычки
if ( flag< 0 ) //если во флаге записана -1, то записываем во флаг позицию ковычек
flag= i;
else //если во флаге положительное число, там записана позиция первого встречания ковычек т. е. открытие цитаты, следовательно встречая ковычки повторно мы наши конец цитаты
{
for ( j= flag; j<= i; j++ ) //перебираем и выводим на экран текст из буфера начиная с позиции записанной во флаг и до текущей
cout << buf[ j] ;
flag= - 1 ; //возвращаем флаг в позицию "не цитата"
}
if ( buf[ i] == '.' || buf[ i] == '!' )
n= i+ 1 ; //вообще бесполезная вещь т.к. n нигде не используется
i++ ;
}
fin.close ( ) ;
cout << endl;
getch( ) ;
return 0 ;
}
I2luY2x1ZGUgPGZzdHJlYW0+CiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxjb25pby5oPgppbnQgbWFpbigpCnsKY2xyc2NyKCk7Cmlmc3RyZWFtIGZpbigidGV4dC50eHQiLCBpb3M6OmluIHwgaW9zOjpub2NyZWF0ZSk7CmlmICghZmluKQp7CmNvdXQ8PCJPc2hpYmthIG90a3JpdGlqYSBmYWlsYSI8PGVuZGw7CmdldGNoKCk7CnJldHVybiAxOwp9CmZpbi5zZWVrZygwLCBpb3M6OmVuZCk7IApsb25nIGxlbj1maW4udGVsbGcoKTsgCmNoYXIgKmJ1Zj1uZXcgY2hhciBbbGVuKzFdOyAKZmluLnNlZWtnKDAsIGlvczo6YmVnKTsgCmZpbi5yZWFkKGJ1ZiwgbGVuKTsgCmJ1ZltsZW5dPSdcMCc7Cgpsb25nIG49MCwgaT0wLCBqPTAsIGZsYWc9LTE7IC8v0YTQu9Cw0LMgLSDQv9C10YDQtdC80LXQvdC90LDRjyDQsiDQutC+0YLQvtGA0YPRjiDQt9Cw0L/QuNGB0YvQstCw0LXRgtGB0Y8g0L/QvtC30LjRhtC40Y8g0L3QsNGH0LDQu9CwINGG0LjRgtCw0YLRiwp3aGlsZSAoYnVmW2ldKSAvL9GC0YPRgiDQv9C10YDQtdCx0LjRgNCw0LXRgtGB0Y8g0LLQtdGB0Ywg0YLQtdC60YHRgiDQsiDQsdGD0YTQtdGA0LUg0L/QvtC60LAg0L3QtSDQstGB0YLRgNC10YLQuNGC0YHRjyAvMAp7IAoJaWYgKGJ1ZltpXT09JyInKS8v0LXRgdC70Lgg0LLRgdGC0YDQtdGH0LDRjtGC0YHRjyDQutC+0LLRi9GH0LrQuAoJCWlmIChmbGFnPDApLy/QtdGB0LvQuCDQstC+INGE0LvQsNCz0LUg0LfQsNC/0LjRgdCw0L3QsCAtMSwg0YLQviDQt9Cw0L/QuNGB0YvQstCw0LXQvCDQstC+INGE0LvQsNCzINC/0L7Qt9C40YbQuNGOINC60L7QstGL0YfQtdC6CgkJCWZsYWc9aTsKCQllbHNlLy/QtdGB0LvQuCDQstC+INGE0LvQsNCz0LUg0L/QvtC70L7QttC40YLQtdC70YzQvdC+0LUg0YfQuNGB0LvQviwg0YLQsNC8INC30LDQv9C40YHQsNC90LAg0L/QvtC30LjRhtC40Y8g0L/QtdGA0LLQvtCz0L4g0LLRgdGC0YDQtdGH0LDQvdC40Y8g0LrQvtCy0YvRh9C10Log0YIuINC1LiDQvtGC0LrRgNGL0YLQuNC1INGG0LjRgtCw0YLRiywg0YHQu9C10LTQvtCy0LDRgtC10LvRjNC90L4g0LLRgdGC0YDQtdGH0LDRjyDQutC+0LLRi9GH0LrQuCDQv9C+0LLRgtC+0YDQvdC+INC80Ysg0L3QsNGI0Lgg0LrQvtC90LXRhiDRhtC40YLQsNGC0YsKCQl7CgkJCWZvciAoaj1mbGFnOyBqPD1pOyBqKyspLy/Qv9C10YDQtdCx0LjRgNCw0LXQvCDQuCDQstGL0LLQvtC00LjQvCDQvdCwINGN0LrRgNCw0L0g0YLQtdC60YHRgiDQuNC3INCx0YPRhNC10YDQsCDQvdCw0YfQuNC90LDRjyDRgSDQv9C+0LfQuNGG0LjQuCDQt9Cw0L/QuNGB0LDQvdC90L7QuSDQstC+INGE0LvQsNCzINC4INC00L4g0YLQtdC60YPRidC10LkKCQkJCWNvdXQ8PGJ1ZltqXTsKCQkJZmxhZz0tMTsvL9Cy0L7Qt9Cy0YDQsNGJ0LDQtdC8INGE0LvQsNCzINCyINC/0L7Qt9C40YbQuNGOICLQvdC1INGG0LjRgtCw0YLQsCIKCQl9CgoJaWYgKGJ1ZltpXT09Jy4nIHx8IGJ1ZltpXT09JyEnKQoJCW49aSsxOy8v0LLQvtC+0LHRidC1INCx0LXRgdC/0L7Qu9C10LfQvdCw0Y8g0LLQtdGJ0Ywg0YIu0LouIG4g0L3QuNCz0LTQtSDQvdC1INC40YHQv9C+0LvRjNC30YPQtdGC0YHRjwoJaSsrOwp9CmZpbi5jbG9zZSgpOwpjb3V0PDxlbmRsOwpnZXRjaCgpOwpyZXR1cm4gMDsKfQ==