fork download
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4.  
  5. void createFrqArr(int frq[], const string &text) {
  6. for (char c : text) {
  7. if (islower(c)) {
  8. cout << c << " ";
  9. ++frq[c];
  10. }
  11. }
  12. }
  13.  
  14. bool isPalindrome(const int frqLetters[]) {
  15. int cntOddFrq = 0;
  16. for (int c = 'a'; c <= 'z'; ++c) {
  17. if (frqLetters[c] % 2) {
  18. ++cntOddFrq;
  19. }
  20. }
  21. return cntOddFrq <= 1;
  22. }
  23.  
  24. char findMostFrqLetter(int frqLetters[]) {
  25. char mostFrqLetter = 'z';
  26. for (int c = 'z'; c >= 'a'; --c) {
  27. if (frqLetters[c] > frqLetters[mostFrqLetter]) {
  28. mostFrqLetter = (char)c;
  29. frqLetters[mostFrqLetter] = frqLetters[c];
  30. }
  31. }
  32. return mostFrqLetter;
  33. }
  34.  
  35. int main() {
  36. string text;
  37. int frqLetters['z' + 1] = {0};
  38. while (getline(cin, text)) {
  39. createFrqArr(frqLetters, text);
  40. }
  41. cout << "\n";
  42. if (isPalindrome(frqLetters)) {
  43. cout << "DA\n" << findMostFrqLetter(frqLetters);
  44. } else {
  45. cout << "NU";
  46. }
  47. return 0;
  48. }
  49.  
Success #stdin #stdout 0.01s 5288KB
stdin
rAr..aA(d)a1A
stdout
r r a d a 
DA
r