Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Дан непустой текст из цифр, за которым следует точка. Найдите цифру, наиболее часто встречающуюся в этом тексте. (с++)

Егор Знаток (254), закрыт 10 лет назад
Лучший ответ
Николай Веселуха Высший разум (361251) 10 лет назад
#include <iostream>
#include <string>
using namespace std;
int main() {
    cout << " Text: ";
    string text = "";
    char ch = 0;
    for (int n = 0; ch != '.'; ++n) {
        cin.get(ch);
        text += ch;
    }
    int digits[10] = { 0 };
    for (int n = 0; text[n] != '.'; ++n) ++digits[text[n] - 48];
    int max = 0;
    for (int n = 0; n < 10; ++n) {
        if (max < digits[n]) {
            max = digits[n];
            ch = n + 48;
        }
    }
    cout << " Digit: " << ch << "; max: " << max << endl;
    cin.sync();
    cin.get();
}
Остальные ответы
Лиля Калиде Просветленный (27060) 10 лет назад
бегло:
int a[10];
char ch;
while(cin.get(ch) !=EOF && ch!='.' )a[ '9' -ch]++;
и потом индекс максимального из a
Похожие вопросы