Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.09.2010, 18:34   #11
ozo
Форумчанин
 
Аватар для ozo
 
Регистрация: 26.04.2010
Сообщений: 328
По умолчанию

Код:
#include <iostream>
#include <vector>
#include <fstream>
#include <iterator>
#include <algorithm>
#include <map>

bool IsAnagram( const std::string &left, const std::string &right ){
    if( left.size( ) != right.size( ) )
	return 0;
    for( int i = 0; i < left.size( ); ++i )
	if( std::count( left.begin( ), left.end( ), left[ i ] ) 
	    != std::count( right.begin( ), right.end( ), left[ i ] ) )
	    return 0;
    return 1;
}

bool IsHaveAnagram( const std::string &str, const std::vector< std::string > &vec ){
    for( int i = 0; i < vec.size( ); ++i )
	if( vec[ i ] != str && IsAnagram( str, vec[ i ] ) )
	    return 1;
    return 0;
}

int main(){
   std::ifstream in( "in.txt" );
   std::vector< std::string > source;
   if( in )
     source.assign( std::istream_iterator< std::string >( in ), std::istream_iterator< std::string >() );
   in.close();

   for( std::vector< std::string >::iterator i = source.begin( ); i != source.end( ); ++i )
       if( !IsHaveAnagram( *i, source ) ){
	   i = source.erase( i );
	   --i;
       }

   std::ofstream out( "out.txt" );
   std::copy( source.begin(), source.end(), std::ostream_iterator< std::string >( out, "\n" ) );
   out.close();
}
хи
Используй гугль, будь счастлив
hackme@yandex.ru
Блог об archlinux
ozo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
файли и С++ holander Общие вопросы C/C++ 6 12.09.2010 17:46
Файли ) ALABAMA Паскаль, Turbo Pascal, PascalABC.NET 3 05.06.2010 11:24
Файли ALABAMA Паскаль, Turbo Pascal, PascalABC.NET 6 04.06.2010 05:37
ФАЙЛИ misha25525 Помощь студентам 3 16.04.2010 20:08