В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
mexoc
mexoc
24.03.2021 04:02 •  Информатика

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

Показать ответ
Ответ:
DashaYazikova9
DashaYazikova9
09.10.2020 03:30

Так как целевой язык программирования не указан, написал на 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(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота