#include "stdafx.h" #include #include #include #include #define N 500 int main(int argc, char *argv[]) { setlocale(LC_ALL,"Russian"); FILE *file, *file2 ; long int end; /* ïðèçíàê êîíöà ôàéëà */ int i=0; /* èíäåêñ ñòðîêè */ int COLVOslov=0, MAXslov=0; /* COLVOslov-ñ÷åòêèê êîë-âà ñëîâ â ñòðîêå, MAXslov-ìàêñèìàëüíîå êîë-âî ñëîâ â ñòðîêå*/ char si; /* ïîñèìâîëüíîå ñ÷èòûâàíèå èç ôàéëà */ char *pi; /* óêàçàòåëü äëÿ strtok */ char Vstr[N]="\0", MAXstr[N]="\0",strWithMaxSlov[N]="\0"; /* âðåìåííàÿ ñòðîêà, ìàêñèìàëüàÿ ñòðîêà, ñòðîêà ñ ìàêñèìàëüíûì êîë-âîì ñëîâ*/ fpos_t posN,posNMAX; /* ðîçîâàÿ ìèëîòà */ HANDLE consoleOutput; consoleOutput = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(consoleOutput, 1 | FOREGROUND_RED | FOREGROUND_INTENSITY); file = fopen("cisla.txt", "r+"); fseek(file , 0, SEEK_END ); end = ftell(file); fseek(file , 0, SEEK_SET ); fgetpos(file, &posN); while( (si=fgetc(file))!=EOF ) { if (si!='.') { // проверка на \n Vstr[i]=si; i++; } else { Vstr[i]='\0'; i=0; if(strlen(Vstr)>strlen(MAXstr)) strcpy(MAXstr,Vstr); pi=strtok(Vstr," ,/|\()"); while(pi) { COLVOslov++; pi=strtok(NULL," ,/|\()"); } if(COLVOslov>MAXslov) { MAXslov=COLVOslov; posNMAX=posN; } fgetpos(file, &posN); COLVOslov=0; } } i=0; fsetpos(file,&posNMAX); while((si=getc(file))!='.') { // проверка на \n strWithMaxSlov[i]=si; i++; } file2 = fopen("sliv.txt", "w+"); if(file2 != NULL) { fprintf(file2, "Самая длинная строка: \n %s\n", MAXstr); fprintf(file2, "Максимальное количество слов: \n %s\n",strWithMaxSlov); } puts(Vstr); fclose(file); return 0; }