From e9d030e5fd8fa107797fac1489bca6ce2724d212 Mon Sep 17 00:00:00 2001 From: Mohammad Sajid Anwar Date: Mon, 10 Feb 2025 20:39:47 +0000 Subject: - Added solutions by Eric Cheung. - Added solutions by Ulrich Rieke. - Added solutions by Mark Anderson. - Added solutions by David Ferrone. - Added solutions by Ali Moradi. - Added solutions by Niels van Dijke. - Added solutions by Peter Pentchev. - Added solutions by E. Choroba. - Added solutions by Peter Meszaros. - Added solutions by Thomas Kohler. - Added solutions by W. Luis Mochan. - Added solutions by BarrOff. --- challenge-308/ulrich-rieke/cpp/ch-1.cpp | 39 +++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100755 challenge-308/ulrich-rieke/cpp/ch-1.cpp (limited to 'challenge-308/ulrich-rieke/cpp/ch-1.cpp') diff --git a/challenge-308/ulrich-rieke/cpp/ch-1.cpp b/challenge-308/ulrich-rieke/cpp/ch-1.cpp new file mode 100755 index 0000000000..409cea5b7c --- /dev/null +++ b/challenge-308/ulrich-rieke/cpp/ch-1.cpp @@ -0,0 +1,39 @@ +#include +#include +#include +#include +#include + +std::vector split( const std::string & text , char delimiter ) { + std::vector tokens ; + std::istringstream istr { text } ; + std::string word ; + while ( std::getline( istr , word , delimiter ) ) { + tokens.push_back( word ) ; + } + return tokens ; +} + +int main( ) { + std::cout << "Enter some words separated by whitespace!\n" ; + std::string line ; + std::getline( std::cin , line ) ; + auto firstTokens { split( line , ' ' ) } ; + std::string secondline ; + std::cout << "Enter some more words separated by whitespace!\n" ; + std::getline( std::cin , secondline ) ; + auto secondTokens { split( secondline , ' ' ) } ; + std::map firstFrequency , secondFrequency ; + int common = 0 ; + for ( auto s : firstTokens ) + firstFrequency[s]++ ; + for ( auto s : secondTokens ) + secondFrequency[s]++ ; + for ( auto aPair : firstFrequency ) { + if ( secondFrequency.find( aPair.first ) != secondFrequency.end( ) ) { + common++ ; + } + } + std::cout << common << '\n' ; + return 0 ; +} -- cgit