Написать программу, которая для введённой с клавиатуры строки (максимальная длина строки — 80 символов, использовать символьный
массив) сообщает, какая цифра в ней встречается чаще всего, либо сообщает, что цифры в строке совсем отсутствуют. Если с одинаковой частотой в строке встретилось несколько цифр, то в качестве лидера вывести любую из подходящих цифр. Для обхода строк использовать указатели.
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
int max = 0;
char str[80];
char* p = str;
char* j = p;
char* mx = nullptr;
int count;
cout << "Введите строку \nМаксимальный размер: " << sizeof(str) << endl;
cin >> str;
while (*p != '\0')
{
count = 0;
j = str;
for (int i = 0; i < sizeof(str) - 1; i++)
{
if (((short)*p) == ((short)*j))
count++;
if ((count >= max) && (((short)*p) > 47 && ((short)*p) < 58))
{
max = count; mx = p;
}
j++;
}
*p++;
}
if (max > 0)
cout << "Наиболее часто встречается число " << *mx << " ,встретилось " << max << " раза" << endl;
else
cout << "В строке нет ни одного числа\n";
return 0;
}