Вдохновленный подобным запилю свой маленький топик :) В 2010, читая Седжвика, увидел такую задачу:
Написать программу, которая принимает строку в качестве аргумента и распечатывает таблицу, которая отображает встречаемые в строке символы с частотой появления каждого из них.
Проще некуда, ведь правда?
Для ее решения был накрапан такой быдлокод
#include <iostream>
#include <unistd.h>
#include <string.h>
using namespace std;
int main(int argc, char* argv[])
{ const int N = 255;
const unsigned int sz = 26;
static int l = 0;
const char alf[sz]={'a','b','c','d','e','f','g','h','i','j','k','l','m',
'n','o','p','q','r','s','t','u','w','x','y','z'};
int index[sz];
char str[N];
for (int i = 0; i < sz;i++)
{index[i] = 0;
}
cin >> str;
cout <<'\n';
for ( unsigned int j = 0; j < (strlen(str));j++)
{ if(str[j] < 0x61)
str[j] = _tolower(str[j]);
for (int k = 0; k < sz;k++){
if (str[j] == alf[k]) index[k]++;}
}
cout <<'\t';
for(int l = 0; l < sz;l++)
if (index[l]) {
cout << alf[l] <<" ";
cout << index[l] <<'\n' <<'\t';
}
sleep(7);
return 0;
}
Короче, принимаются ваши красивые решения господа, а также коменты Царя, про мою тотальную АНскильность, хроническое НИасиляторство и даунизм. You are welcome!