4.10

#include <iostream> 
#include <cstring> 
#include <vector> 
#include <map> 
#include <set> 
#include <algorithm> 
using namespace std; 
 
inline ostream& operator <<( ostream& out, const vector<char>& obj ) { 
   for( auto p: obj ) cout << p; 
   return out; 
} 
 
int main( void ) { 
   char s[] = "Muhammad al-Xorazmiy nomidagi Toshkent Axborot Texnologiyalari Universiteti"; // nazvanie knigi
   vector<string> vs;
   vs.push_back("Muminov");
   vs.push_back("Bahodir"); 
   // copy & find : 
   vector<char> v1( strlen( s ) ); 
   copy( s, s   v1.size(), v1.begin() ); 
   int nb = 0; 
   for( auto is = find( v1.begin(), v1.end(), ' ' ); is != v1.end(); 
             is = find(   is, v1.end(), ' ' ) ) nb  ; 
   cout << "boʻsh joylar soni: " << nb << " (" << nb   1 
        << " soʻz)" << endl; 
   // min & max : 
   auto mm = minmax_element( v1.begin(), v1.end() ); 
   cout << "belgilar uzunligi: '" << *mm.first << "' ... '"
        << *mm.second << "'" << endl; 
   // fill & reverse & rotate & shuffle : 
   vector<char> suv( vs[ 0 ].size() ); 
   copy( vs[ 0 ].begin(), vs[ 0 ].end(), suv.begin() ); 
   cout << suv << endl; 
   random_shuffle( suv.begin(), suv.end() ); 
   cout << suv << endl; 
   reverse( suv.begin(), suv.end() ); 
   cout << suv << endl; 
   rotate( suv.begin(), suv.begin()   suv.size() / 2, suv.end() ); 
   cout << suv << endl; 
   // set_intersection & set_difference 
   set< char > sus, pns; 
   for( char s: vector<char>( vs[ 0 ].begin(), vs[ 0 ].end() ) )
      sus.insert( s ); 
   for( char s: vector<char>( vs[ 1 ].begin(), vs[ 1 ].end() ) )
      pns.insert( s ); 
   vector<char> outi( 100 ), outd( 100 ); 
   auto ret = set_intersection( sus.begin(), sus.end(), pns.begin(),
                                pns.end(), outi.begin() ); 
   cout << "umumiy belgi " << ( ret - outi.begin() ) << " : " 
        << outi << endl; 
   ret = set_difference( sus.begin(), sus.end(), pns.begin(), 
                         pns.end(), outd.begin() ); 
   cout << "unikal belgi " << ( ret - outd.begin() ) << " : " 
        << outd << endl; 
   system("pause");
   return 0;
}
Run on cpp.sh