//Var 23
#include <iostream>
#include <locale>
#include <fstream>
#include <string.h>
using namespace std; const int maxnStr=100, maxlenStr=100;
bool readFile(char*fname, char** a, int& n) {//Чтение файла
ifstream fin;
fin.open(fname);
if (!fin) return 0;
char str [maxlenStr +1];
int len=0;
while (fin.getline(str, maxlenStr+1)){
len = strlen (str);
a[n]=new char [len+1];
strcpy(a[n], str);
n++;
}
fin.close();
return 1;
}
bool GoodWord (char*word){//Определение соответствия слова условию
int len = strlen(word);
for (int i = 0; i<(len-1); i++){
if (word[i]<=word[i+1])
return 0;
}
return 1;
}
int CharStr (char*str){//Определение характеристики строки
unsigned int len = strlen(str), maxlen = 0;
char*str1 = new char[len + 1];
strcpy(str1, str);
char Separators[] = " ,.!?";
char*word = strtok(str1, Separators);
while (word){
if (GoodWord(word)) maxlen++;
word = strtok(0, Separators);
}
delete[]str1;
return maxlen;
}
char* BestStr(char **a, int n){//Определение максимальной строки, отвечающей условию
int i, imax=0, har, max= CharStr(a[0]);
for (i=1; i<n; i++){
har= CharStr(a[i]);
if(har>max){
max=har;
imax = i;
};
};
return a[imax];
}
int main() {
setlocale(LC_ALL, "");
int n=0;
char *a[maxnStr];
char fname[10];
cout << "Имя файла? \t \n"; cin >> fname;
if (!readFile(fname, a, n)) {
cout << "Ошибка! Нет файла, либо он пуст. Перепроверьте расположение, имя и содержание файла. \n";
return 0;
}
ofstream fout;
fout.open ("result.txt");
fout << BestStr(a, n);
fout.close();
for (int i =0; i<maxnStr; i++)
delete []a[i];
return 0;
}
Ly9WYXIgMjMKI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bG9jYWxlPgojaW5jbHVkZSA8ZnN0cmVhbT4KI2luY2x1ZGUgPHN0cmluZy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOyBjb25zdCBpbnQgbWF4blN0cj0xMDAsIG1heGxlblN0cj0xMDA7Cgpib29sIHJlYWRGaWxlKGNoYXIqZm5hbWUsIGNoYXIqKiBhLCBpbnQmIG4pIHsvL9Cn0YLQtdC90LjQtSDRhNCw0LnQu9CwCglpZnN0cmVhbSBmaW47CglmaW4ub3BlbihmbmFtZSk7CglpZiAoIWZpbikgcmV0dXJuIDA7CgljaGFyIHN0ciBbbWF4bGVuU3RyICsxXTsKICAgIGludCBsZW49MDsKICAgIHdoaWxlIChmaW4uZ2V0bGluZShzdHIsIG1heGxlblN0cisxKSl7CiAgICAgICAgbGVuID0gc3RybGVuIChzdHIpOwogICAgICAgIGFbbl09bmV3IGNoYXIgW2xlbisxXTsKICAgICAgICBzdHJjcHkoYVtuXSwgc3RyKTsKICAgICAgICBuKys7CiAgICB9CglmaW4uY2xvc2UoKTsKCXJldHVybiAxOwoKfQpib29sIEdvb2RXb3JkIChjaGFyKndvcmQpey8v0J7Qv9GA0LXQtNC10LvQtdC90LjQtSDRgdC+0L7RgtCy0LXRgtGB0YLQstC40Y8g0YHQu9C+0LLQsCDRg9GB0LvQvtCy0LjRjgogICAgaW50IGxlbiA9IHN0cmxlbih3b3JkKTsKICAgIGZvciAoaW50IGkgPSAwOyBpPChsZW4tMSk7IGkrKyl7CiAgICBpZiAod29yZFtpXTw9d29yZFtpKzFdKQogICAgcmV0dXJuIDA7Cn0KICAgIHJldHVybiAxOwp9CmludCBDaGFyU3RyIChjaGFyKnN0cil7Ly/QntC/0YDQtdC00LXQu9C10L3QuNC1INGF0LDRgNCw0LrRgtC10YDQuNGB0YLQuNC60Lgg0YHRgtGA0L7QutC4CiAgICB1bnNpZ25lZCBpbnQgbGVuID0gc3RybGVuKHN0ciksIG1heGxlbiA9IDA7CgljaGFyKnN0cjEgPSBuZXcgY2hhcltsZW4gKyAxXTsKCXN0cmNweShzdHIxLCBzdHIpOwoJY2hhciBTZXBhcmF0b3JzW10gPSAiICwuIT8iOwoJY2hhcip3b3JkID0gc3RydG9rKHN0cjEsIFNlcGFyYXRvcnMpOwoJd2hpbGUgKHdvcmQpewoJCWlmIChHb29kV29yZCh3b3JkKSkgbWF4bGVuKys7CgkJd29yZCA9IHN0cnRvaygwLCBTZXBhcmF0b3JzKTsKCX0KCWRlbGV0ZVtdc3RyMTsKCXJldHVybiBtYXhsZW47Cn0KY2hhciogQmVzdFN0cihjaGFyICoqYSwgaW50IG4pey8v0J7Qv9GA0LXQtNC10LvQtdC90LjQtSDQvNCw0LrRgdC40LzQsNC70YzQvdC+0Lkg0YHRgtGA0L7QutC4LCDQvtGC0LLQtdGH0LDRjtGJ0LXQuSDRg9GB0LvQvtCy0LjRjgogICAgaW50IGksIGltYXg9MCwgaGFyLCBtYXg9IENoYXJTdHIoYVswXSk7CiAgICBmb3IgKGk9MTsgaTxuOyBpKyspewogICAgICAgIGhhcj0gQ2hhclN0cihhW2ldKTsKICAgICAgICBpZihoYXI+bWF4KXsKICAgICAgICAgICAgbWF4PWhhcjsKICAgICAgICAgICAgaW1heCA9IGk7CiAgICAgICAgfTsKICAgIH07CiAgICByZXR1cm4gYVtpbWF4XTsKfQppbnQgbWFpbigpIHsKCXNldGxvY2FsZShMQ19BTEwsICIiKTsKICAgIGludCBuPTA7CgljaGFyICphW21heG5TdHJdOwogICAgY2hhciBmbmFtZVsxMF07Cgljb3V0IDw8ICLQmNC80Y8g0YTQsNC50LvQsD8gXHQgXG4iOyBjaW4gPj4gZm5hbWU7CglpZiAoIXJlYWRGaWxlKGZuYW1lLCBhLCBuKSkgewoJCWNvdXQgPDwgItCe0YjQuNCx0LrQsCEg0J3QtdGCINGE0LDQudC70LAsINC70LjQsdC+INC+0L0g0L/Rg9GB0YIuINCf0LXRgNC10L/RgNC+0LLQtdGA0YzRgtC1INGA0LDRgdC/0L7Qu9C+0LbQtdC90LjQtSwg0LjQvNGPINC4INGB0L7QtNC10YDQttCw0L3QuNC1INGE0LDQudC70LAuIFxuIjsKCQlyZXR1cm4gMDsKCX0KCgoJb2ZzdHJlYW0gZm91dDsKCWZvdXQub3BlbiAoInJlc3VsdC50eHQiKTsKCWZvdXQgPDwgQmVzdFN0cihhLCBuKTsKCWZvdXQuY2xvc2UoKTsKCWZvciAoaW50IGkgPTA7IGk8bWF4blN0cjsgaSsrKQogICAgICAgIGRlbGV0ZSBbXWFbaV07CglyZXR1cm4gMDsKfQ==