ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 22.10.2009, 20:19
xxxxxxxxxxxxxxx
Познающий
Регистрация: 20.01.2008
Сообщений: 65
Провел на форуме:
664107

Репутация: 25
Отправить сообщение для xxxxxxxxxxxxxxx с помощью ICQ
По умолчанию

Код:
#include<string>
#include<iostream>
#include<fstream>
#include<cstdlib>

#define SYMBOLS 0
#define WORDS   1
#define STRINGS 2
#define NSTRING 3
#define NWORD   4
#define OVERLEN 5

using namespace std;

int main(int argc, char **argv){
	int i, j, cc;
	char buf[1001];
	long count[6]={
					-1, // count[ SYMBOLS ] - кол-во символов в файле
					0, // count[ WORDS ]   - кол-во слов
					0, // count[ STRINGS ] - кол-во строк
					0, // count[ NSTRING ] - номер строки в кот-ой самое длинное слово
					0, // count[ NWORD ]   - номер слова кот-е явл-ся самым длинным
					0  //count[ OVERLEN ] - длина самого длинного слова
				  };
	fstream f;
	f.open(argv[1], ios::in | ios::out);
	if( !f ){
		cout<<"Cannot open file : "<<argv[1]<<endl;
		exit(1);
    }
	f.seekp( 0, ios::beg);
	while(!f.eof()){
		f.getline(buf,1000);
		puts(buf);
		if(strlen(buf) >0 ) ++count[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){
					++count[WORDS]; // слова
				}
				if(j>count[OVERLEN]){
					count[NWORD] = count[WORDS];
					count[NSTRING] = count[STRINGS]; 
					count[OVERLEN] = j; 
                }
                j=0;
            }          
        }
		count[SYMBOLS] +=i; 
    }
cout<<"SYMBOLS: "<<count[SYMBOLS]<<endl; 
cout<<"WORDS: "<<count[WORDS]<<endl;
cout<<"STRINGS: "<<count[STRINGS]<<endl;

return 0;
}
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сюда выкладываем все проги для фрикринга мобильников, которых знаем! nigger Сотовый фрикинг 5 11.04.2009 11:15
Американским студентам запретили пользоваться Skype KPOT_f!nd Мировые новости 1 28.09.2006 03:47
Любителям квестов сюда!! FoX's Болталка 10 25.01.2005 20:42



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ