1) Написать программу, которая считывает текст из файла и выводит на экран только вопросительные предложения из этого текста.
#include "stdafx.h"
#include <fstream>
#include <sstream>
#include <string>
#include <iostream>
using namespace std;
bool isLimit(char c)
{
char lim[]={' ','\t','\n'};
for (int i=0;i<sizeof(lim);++i)
if(c==lim[i])return true;return false;}
int _tmain(int argc, _TCHAR* argv[])
{
ifstream fin("infile.txt",ios::in|ios::nocreate);
if (!fin)
{
cout<<"oshibka otkritiy faila";
return 1;
}
int count=0; string word;
ostringstream sentence;
while(!fin.eof()){
char symb;
while(isLimit(symb=fin.peek()))
{
sentence<<symb;
if(symb=='\n')break;
fin.seekg(1,ios::cur);
}
fin>>word;
sentence<<word;
char last=word[word.size()-1];
if((last=='.')||(last=='!'))
{
sentence.str("");
continue;
}
if(last=='?')
{
cout<<sentence.str();
sentence.str("");
count++;
}
}
if(!count)cout<<"Voprositelnix predlozenii net";
return 0;
}
Две ошибки при компиляции: error C2039: '_Nocreate' : is not a member of 'basic_ios<char,struct std::char_traits<char> >' и error C2065: '_Nocreate' : undeclared identifier
2) Написать программу, формирующую из заданного текстового файла словарь, т.е. текстовый файл, содержащий все слова исходного файла
#include <fstream.h>
#include <iostream.h>
#include <string.h>
#include <stdlib.h>
int main(){
int const length=31;
struct Word{
char word[length];
};
char curword[length];
ifstream fin("example.txt", ios::in|ios::nocreate);
if(!fin){cout<<"ERROR"<<endl; return 1;}
int l=10000;
char *zuf=new char[l];
ofstream out("out.txt",ios::out|ios::nocreate);
if(!out){cout<<"ERROR"<<endl; return 2;}
int const more=1000000;
Word w2[more];
int i=0;
while(!fin.eof()){
if (i>more){cout<<"It is too long file!!! "<<endl;return 3;}
fin>>curword;
i++;
}
for(int g=0;g<i;g++)
for(int k=g;k<i;k++){
if(strcmp(w2[g].word, w2[k].word) > 0){
Word buf=w2[k];
w2[k]=w2[g];
w2[g]=buf;
}
}
int n=0;
while (n<i){
out<<w2[n].word;
n++;
}
return 0;
}
Эта компилируется но не работает