Вопрос задан 01.07.2023 в 23:35. Предмет Информатика. Спрашивает Румянцева Дарина.

Очень срочно, C++. Напишите программу, которая будет считывать четырехзначное число и выводить 1,

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

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

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

Ответ:

#include <iostream>

using namespace std;

int main()

{

   int number;

   cin >> number;

   int array[4] = {};

   array[0] = number / 1000;

   array[1] = number % 1000 / 100;

   array[2] = number % 1000 % 100 / 10;

   array[3] = number % 10;

   int counter;

   int check = 0;

   for (int i = 0; i < 4; i++)

   {

       counter = 0;

       for (int j = 0; j < 4; j++)

       {

           if (array[i] == array[j])

           {

               counter++;

               if (counter == 2)

               {

                   check++;

               }

           }

       }

   }

   if (check != 0)

   {

       cout << 1;

   }

   else

   {

       cout << 0;

   }

}

Объяснение:

#include <iostream>  // Библиотека ввода-вывода

using namespace std;  // Пространство имён

int main()

{

   int number;  // Переменная для вводимого числа

   cin >> number;  // Ввод числа

   int array[4] = {};  // Массив для хранения цифр числа

   array[0] = number / 1000;  // Первая цифра

   array[1] = number % 1000 / 100;  // Вторая цифра

   array[2] = number % 1000 % 100 / 10;  // Третья цифра

   array[3] = number % 10;  // Четвертая цифра

   int counter;  // Переменная для подсчёта одинаковых цифр

   int check = 0;  // Переменная для проверки на само условие задачи

   for (int i = 0; i < 4; i++)

   {

       counter = 0;  // Обнуление переменной

       for (int j = 0; j < 4; j++)

       {

           if (array[i] == array[j])  // Если цифры равны

           {

               counter++;  // Увеличиваем на 1

               if (counter == 2)  // Если количество цифр = 2

               {

                   check++;  // Увеличиваем на 1

               }

           }

       }

   }

   if (check != 0)  // Если не равно 0

   {

       cout << 1;  // То выводим 1

   }

   else  // Иначе

   {

       cout << 0;  // Выводим 0 (любое значение)

   }

}

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

Конечно! Вот пример программы на C++, которая выполняет описанную вами задачу:

cpp
#include <iostream> #include <unordered_set> bool hasExactlyTwoSameDigits(int number) { std::unordered_set<int> digits; while (number > 0) { int digit = number % 10; if (digits.count(digit) > 0) { return true; } digits.insert(digit); number /= 10; } return false; } int main() { int number; std::cout << "Введите четырехзначное число: "; std::cin >> number; if (hasExactlyTwoSameDigits(number)) { std::cout << "1\n"; } else { std::cout << "Любое число\n"; } return 0; }

Программа сначала объявляет функцию hasExactlyTwoSameDigits, которая проверяет, содержит ли число ровно две одинаковые цифры. В функции используется хеш-множество (unordered_set) для отслеживания уже встреченных цифр.

Затем программа в main считывает четырехзначное число с помощью std::cin и вызывает функцию hasExactlyTwoSameDigits. В зависимости от результата выводится "1", если в числе ровно две одинаковые цифры, или "Любое число" в противном случае.

Обратите внимание, что программа не проверяет корректность вводимых данных (например, что введено именно четырехзначное число). Если требуется такая проверка, ее можно добавить в код.

0 0

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

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

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

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