Вопрос задан 29.10.2023 в 22:19. Предмет Информатика. Спрашивает Пожарная-Часть Аромашевская.

Помогите пожалуйста.Даны две цифры в десятичной системе счисления. Напишите программу, которая

выводит название на русском языке цифры модуля разности этих цифр
0 0
Перейти к ответам

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

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

Так как целевой язык программирования не указан, написал на C#.

В главном методе есть две переменные A и B, над которыми производнятся вычисления, а также метод IntToNaturalString(), преобразующий число в его строковую запись на русском языке.

Результат работы на рисутке 1.

Код:

using System;

using System.Collections;

using System.Collections.Generic;

using System.Linq;

using System.Text;


namespace FindPairs

{

   class Program

   {

       static void Main(string[] args)

       {

           //*Введи свои значения здесь!*//

           int A = 46524;

           int B = 7353;


           int res = Math.Abs(A - B);

           Console.WriteLine("Исходная запись результата |{0}-{1}| = {2},", A, B, res);

           Console.WriteLine("что на русском языке звучит как \"{0}\".", IntToNaturalString(res));

       }



       static string IntToNaturalString(int number, string sep = " ")

       {

           return IntToNaturalString(number.ToString());

       }

       static string IntToNaturalString(string number, string sep = " ")

       {

           string result = "";

           if (number.Length > 3)

           {

               string[] numbersClassNames = { "", "тысяч", "миллионов", "биллионов", "триллионов", "квадрилионов", "квинтиллионов" };

               int K = number.Length / 3, D = number.Length % 3;

               if (D > 0)

                   result += (IntToNaturalString(number.Substring(0, D)) + " " + numbersClassNames[K] + sep);

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

               {

                   result += (IntToNaturalString(number.Substring(D+3*i, 3)) + " " + numbersClassNames[K - 1 - i] + sep);

               }

           }

           else

           {

               string[] hangred = { "", "сто", "двести", "триста", "четыреста", "пятьсот", "шестьсот", "семьсот", "восемьсот", "девятьсот" };

               string[] decades = { "", "десять", "двадцать", "тридцать", "сорок", "пятьдесят", "шестьдесят", "семьдесят", "восемьдесят", "девяносто" };

               string[] ones    = { "", "один", "два", "три", "четыре", "пять", "шесть", "семь", "восемь", "девять" };

               string[] chst    = { "одиннадцать", "двенадцать", "тринадцать", "четырнадцать", "пятнадцать", "шестрадцать", "восемнадцать", "девятнадцать" };


               number = RightFillZeros(number);

               int H = int.Parse(number[0].ToString());

               int D = int.Parse(number[1].ToString());

               int O = int.Parse(number[2].ToString());


               result = hangred[H] + " ";

               if (D == 1 && O != 0)

                   result += chst[O];

               else

                   result += decades[D] + " " + ones[O];

           }

           return result;

       }

       static string RightFillZeros(string number, int N = 3)

       {

           if (number.Length < N)

           {

               number  = new string('0', N - number.Length) + number;

           }

           return number;

       }

   }

}


0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Для решения данной задачи можно написать программу на языке программирования C++. Вот пример такой программы: ```cpp #include #include int main() { // Ввод двух цифр int num1, num2; std::cout << "Введите первую цифру: "; std::cin >> num1; std::cout << "Введите вторую цифру: "; std::cin >> num2; // Вычисление разности и модуля разности int difference = num1 - num2; int absoluteDifference = std::abs(difference); // Определение названия цифры на русском языке std::string digitName; switch (absoluteDifference) { case 0: digitName = "ноль"; break; case 1: digitName = "один"; break; case 2: digitName = "два"; break; case 3: digitName = "три"; break; case 4: digitName = "четыре"; break; case 5: digitName = "пять"; break; case 6: digitName = "шесть"; break; case 7: digitName = "семь"; break; case 8: digitName = "восемь"; break; case 9: digitName = "девять"; break; default: digitName = "неизвестно"; break; } // Вывод результата std::cout << "Название цифры модуля разности: " << digitName << std::endl; return 0; } ``` Эта программа позволяет пользователю ввести две цифры и выводит название на русском языке цифры, которая является модулем разности этих двух цифр. Например, если пользователь введет первую цифру 7 и вторую цифру 3, программа выведет "Название цифры модуля разности: четыре". **Примечание:** В данном примере используется стандартная библиотека C++ для работы с вводом-выводом и математическими операциями. Если вы используете другой язык программирования, то код может отличаться.
0 0

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

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

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

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