Вопрос задан 30.06.2023 в 22:36. Предмет Информатика. Спрашивает Бердиев Тимофей.

C++, помогите Написать программу, которая для введённой с клавиатуры строки (максимальная длина

строки — 80 символов, использовать символьный массив) сообщает, какая цифра в ней встречается чаще всего, либо сообщает, что цифры в строке совсем отсутствуют. Если с одинаковой частотой в строке встретилось несколько цифр, то в качестве лидера вывести любую из подходящих цифр. Для обхода строк использовать указатели.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Шабалина Александра.

#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;

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, я могу помочь вам с этой задачей. Вот пример программы на C++, которая решает вашу задачу:

cpp
#include <iostream> #include <cstring> int main() { const int maxLength = 80; char inputString[maxLength + 1]; // +1 for null-terminator std::cout << "Введите строку (максимум 80 символов): "; std::cin.getline(inputString, maxLength + 1); // Read input line int digitFrequency[10] = {0}; // Array to store frequency of each digit (0-9) char* ptr = inputString; // Pointer to traverse the input string while (*ptr != '\0') { if (*ptr >= '0' && *ptr <= '9') { int digit = *ptr - '0'; digitFrequency[digit]++; } ptr++; } int maxFrequency = 0; int mostFrequentDigit = -1; // Initialize to an invalid value for (int i = 0; i < 10; i++) { if (digitFrequency[i] > maxFrequency) { maxFrequency = digitFrequency[i]; mostFrequentDigit = i; } } if (mostFrequentDigit != -1) { std::cout << "Самая частая цифра: " << mostFrequentDigit << std::endl; } else { std::cout << "Цифры отсутствуют в строке." << std::endl; } return 0; }

Программа считывает строку с клавиатуры, а затем использует указатель для обхода символов в строке и подсчёта частоты встречающихся цифр. После этого программа находит наиболее часто встречающуюся цифру и выводит её на экран. Если цифры в строке отсутствуют, то выводится соответствующее сообщение.

Обратите внимание, что данная программа предполагает, что вводимая строка будет корректной и не содержит символов, отличных от цифр.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос