How to to check if all the characters of a string are with same frequencies in C++

1 Answer

0 votes
#include <iostream>

using namespace std;

bool same_frequencies(string s) { 
    int letters[256] = {0}; 
	int len = s.length();
      
    for (int i = 0; i < len; i++) {
         if (isalpha(s[i]))
             letters[(int)s[i]]++;
    }
     
	int frequencies = 0; 
	for (int i = 0; i < 256; i++) { 
		if (letters[i] != 0) {
			frequencies = letters[i];
			break;
		}
	}
	
    for (int i = 0; i < 256; i++) { 
        if (letters[i] != 0 && (letters[i] != frequencies)) {
            return false;
        }
    } 
	return true;
} 
int main() 
{                       
    string s = "aaabbbcccwww"; 
         
    if (same_frequencies(s))
		cout << "yes";
	else
        cout << "no";
  
    return 0; 
} 



/*
run:
       
yes
       
*/

 



answered Jan 1, 2020 by avibootz
...