Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int isCharToDetermine(char* symbols, int size, char charToLookUp){
- for (int i = 0; i < size; i++) {
- if(symbols[i]==charToLookUp){
- return i;
- }
- }
- return -1;
- }
- int calcOccurences(char* symbols, int size, char* sentences, int* occurences) {
- char *p=sentences;
- while(*p!='\0'){
- int pos = isCharToDetermine(symbols, size, *p);
- if(pos!=-1){
- occurences[pos]++;
- }
- p++;
- }
- return 0;
- }
- int transformString(char *sentence, char mostChar, char leastChar){
- char *p=sentence;
- unsigned pos = 0;
- while(*p!='\0') {
- if(*p==mostChar){
- sentence[pos] = leastChar;
- }
- else if(*p==leastChar){
- sentence[pos] = mostChar;
- }
- pos++;
- p++;
- }
- return 0;
- }
- int main()
- {
- int numSymbolsToLook;
- cin >> numSymbolsToLook;
- char* Symbols = new char[numSymbolsToLook];
- int* occurances = new int[numSymbolsToLook];
- for (int i = 0; i < numSymbolsToLook; i++){
- cin>>Symbols[i];
- occurances[i]=0;
- }
- cin.ignore();
- char* sentence = new char [59];
- cin.getline(sentence, 60);
- calcOccurences(Symbols, numSymbolsToLook, sentence, occurances);
- int leastPos = 0;
- for(unsigned i=1; i<numSymbolsToLook; i++){
- if(occurances[i]<occurances[leastPos]){
- leastPos = i;
- }
- }
- int mostPost = 0;
- for(unsigned i=1; i<numSymbolsToLook; i++){
- if(occurances[i]>occurances[mostPost]){
- mostPost = i;
- }
- }
- transformString(sentence, Symbols[mostPost], Symbols[leastPos]);
- cout<<Symbols[mostPost]<<" е най-често срещаният символ, който принадлежи на множеството\n";
- cout<<Symbols[leastPos]<<" е най-рядко срещаният символ, който принадлежи на множеството\n";
- cout<<sentence<<endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement