Question: #include #include #include #include #include #include #include class Analyzer { public: Analyzer ( int * values, int size ) : values ( values ) ,
#include #include #include #include #include #include #include class Analyzer public: Analyzerint values, int size : valuesvalues sizesize virtual std::string analyze; protected: int values; int size; ; class SearchAnalyzer : public Analyzer public: SearchAnalyzerint values, int size : Analyzervalues size selectionsortthisvalues, thissize; std::string analyze override int foundCount ; for int i ; i ; i int randomValue rand; if binarysearchvalues size, randomValuefoundCount; return "There were std::tostringfoundCount random values found"; private: void selectionsortint values, int size for int i ; i size ; i int minIndex i; for int j i ; j size; j if valuesj valuesminIndex minIndex j; std::swapvaluesi valuesminIndex; bool binarysearchrecursiveint values, int key, int start, int end if start end return false; int mid start end start; if valuesmid key return true; else if valuesmid key return binarysearchrecursivevalues key, start, mid ; else return binarysearchrecursivevalues key, mid end; bool binarysearchint values, int size, int key return binarysearchrecursivevalues key, size ; ; class StatisticsAnalyzer : public Analyzer public: StatisticsAnalyzerint values, int size : Analyzervalues size selectionsortthisvalues, thissize; std::string analyze override int min values; int max valuessize ; double mean ; for int i ; i size; i mean valuesi; mean size; double median; if size median valuessize valuessize ; else median valuessize ; std::unorderedmap frequency; for int i ; i size; i frequencyvaluesi; int mode values; int maxCount ; for const auto& pair : frequency if pairsecond maxCount maxCount pair.second; mode pair.first; return "The minimum value is std::tostringmin
"The maximum value is std::tostringmax
"The mean value is std::tostringmean
"The median value is std::tostringmedian
"The mode value is std::tostringmode which occurred std::tostringmaxCount times"; private: void selectionsortint values, int size for int i ; i size ; i int minIndex i; for int j i ; j size; j if valuesj valuesminIndex minIndex j; std::swapvaluesi valuesminIndex; ; int main const int SIZE ; createBinaryFilebinarydat", SIZE; BinaryReader brbinarydat"; StatisticsAnalyzer sabrgetValues brgetSize; std::cout saanalyze
; DuplicateAnalyzer dabrgetValues brgetSize; std::cout daanalyze
; MissingAnalyzer mabrgetValues brgetSize; std::cout maanalyze
; SearchAnalyzer rabrgetValues brgetSize; std::cout raanalyze
; return ;
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
