| Код | #include<conio.h> #include<string.h>
#include<iostream.h> #include<fstream.h>
#include<stdlib.h>
#define SYMBOLS 0 #define WORDS 1 #define STRINGS 2 #define NSTRING 3 #define NWORD 4 #define OVERLEN 5
void main() { int i, j, cc; char buf[ 50 ];
long VAN[ 6 ]={ -1, // VAN[ SYMBOLS ] - кол-во символов в файле 0, // VAN[ WORDS ] - кол-во слов 0, // VAN[ STRINGS ] - кол-во строк 0, // VAN[ NSTRING ] - номер строки в кот-ой самое длинное слово 0, // VAN[ NWORD ] - номер слова кот-е явл-ся самым длинным 0 // VAN[ OVERLEN ] - длина самого длинного слова };
fstream f; f.open( "skry.txt", ios::in | ios::out ); if( !f ) { cout << "Cannot open file : " << "skry.txt" << endl; exit(1); }
f.seekp( 0, ios::beg );
for( ; !f.eof(); ) {
f.getline( buf, 50 ); if( strlen(buf) >0 ) ++VAN[ STRINGS ]; // строки else continue;
for( i=0, j=0; i<=strlen(buf); ++i, ++j ) { if( buf[ i ]==' ' || buf[ i ]=='\t' || buf[ i ]=='\n' || buf[ i ]=='\0' ) {
for( ; i<=strlen(buf) && (buf[ i ] ==' ' || buf[ i ]=='\t'); ++i );
if( i>0 ) ++VAN[ WORDS ]; // слова
if( j>VAN[ OVERLEN ] ) { VAN[ NWORD ]=VAN[ WORDS ]; // номер слова кот-е явл-ся самым длинным VAN[ NSTRING ]=VAN[ STRINGS ]; // номер строки в кот-ой самое длинное слово
VAN[ OVERLEN ]=j; // длина самого длинного слова }
j=0; } } VAN[ SYMBOLS ]+=i; // символы }
// Вывод!
cout << "Длина самого длинного слова - - - - - " << VAN[ OVERLEN ] << endl << "Порядковый номер строки в которой самое длинное слово - " << VAN[ NSTRING ] << endl << "Порядковый номер самого длинного слова - - - " << VAN[ NWORD ] << endl;
getch(); return; }
|
|