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

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

Задать свой вопрос
1 ответ

Так как целевой язык программирования не указан, написал на 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.Абс(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 gt; 3)

           

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

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

               if (D gt; 0)

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

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

               

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

               

           

           else

           

               string[] hangred = "", "100", "двести", "триста", "четыреста", "500", "600", "семьсот", "восемьсот", "девятьсот" ;

               string[] decades = "", "десять", "20", "30", "сорок", "50", "шестьдесят", "70", "восемьдесят", "девяносто" ;

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

               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 amp;amp; O != 0)

                   result += chst[O];

               else

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

           

           return result;

       

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

       

           if (number.Length lt; N)

           

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

           

           return number;

       

   

, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт