чухловина209
?>

Укажите соответствия. Компьютеры Характеристики 1 поколение Компьютеры на микропроцессорах или чипах. 2 поколение Полупроводниковые машины на транзисторах. 3 поколение Искусственный интеллект. 4 поколение Вычислительные системы на интегральной схеме. Ламповые машины.

Информатика

Ответы

de1979nis

Скриншоты примеров работы во вложениях к ответу.

Код:

using System;

using System.Collections.Generic;

namespace PrintNumbersNaturaly

{

   class Program

   {

       static string GetShardName(int n, string  hundreds, string dozens, string units)

       {

           var d = new Dictionary<int, List<string>>

           {

               {1, new List<string>{"", "", ""}},

               {2, new List<string>{"Тысяча ", "Тысячи ", "Тысяч "}},

               {3, new List<string>{"Миллион ", "Миллиона ", "Миллионов "}},

               {4, new List<string>{"Миллиард ", "Миллиарда ", "Миллиардов "}},

           };

           if (dozens != "1")

           {

               switch (units)

               {

                   case "1":

                       return d[n][0];

                   

                   case "2":

                   case "3":

                   case "4":

                       return d[n][1];

                   

                   default:

                       return d[n][2];

               }

           }

           return d[n][2];

       }

       

       static string GetHundredsName(string number)

       {

           var d = new Dictionary<string, string>

           {

               {"1", "Сто "}, {"2", "Двести "}, {"3", "Триста "}, {"4", "Четыреста "}, {"5", "Пятьсот "},

               {"6", "Шестьсот "}, {"7", "Семьсот "}, {"8", "Восемьсот "}, {"9", "Девятьсот "}, {"0", ""}

           };

           return d[number];

       }

       

       static string GetDozensName(string number)

       {

           var d = new Dictionary<string, string>

           {

               {"1", "Десять "}, {"2", "Двадцать "}, {"3", "Тридцать "}, {"4", "Сорок "}, {"5", "Пятьдесят "},

               {"6", "Шестьдесят "}, {"7", "Семьдесят "}, {"8", "Восемьдесят "}, {"9", "Девяносто "}, {"0", ""}

           };

           return d[number];

       }

       static string GetUnitsName(string number)

       {

           var d = new Dictionary<string, string>

           {

               {"1", "Один "}, {"2", "Два "}, {"3", "Три "}, {"4", "Четыре "}, {"5", "Пять "},

               {"6", "Шесть "}, {"7", "Семь "}, {"8", "Восемь "}, {"9", "Девять "}, {"0", ""}

           };

           return d[number];

       }

       

       static string GetExceptionsName(string number)

       {

           var d = new Dictionary<string, string>

           {

               {"11", "Одиннадцать "}, {"12", "Двенадцать "}, {"13", "Тринадцать "}, {"14", "Четырнадцать "},

               {"15", "Пятьнадцать "}, {"16", "Шестнадцать "}, {"17", "Семнадцать "}, {"18", "Восемнадцать "},

               {"19", "Девятнадцать "}

           };

           return d.ContainsKey(number) ? d[number] : string.Empty;

       }

       static string GetNumberName(string number)

       {

           var n = (int) Math.Ceiling(number.Length / 3.0);

           var k = 3 - (number.Length - 1) % 3 - 1;

           number = new string('0', k) + number;

           var name = "";

           for (var i = n; i > 0; --i)

           {

               var hundreds = number[i * 3 - 3].ToString();

               var dozens = number[i * 3 - 2].ToString();

               var units = number[i * 3 - 1].ToString();

               

               var shard = GetHundredsName(hundreds);

               var exceptionsName = GetExceptionsName(dozens + units);

               if (exceptionsName != string.Empty)

               {

                   shard += exceptionsName;

               }

               else

               {

                   var dozensName = GetDozensName(dozens);

                   var unitsName = GetUnitsName(units);

                   shard += dozensName + unitsName;

               }

               name = shard + GetShardName(n - i + 1, hundreds, dozens, units) + name;

           }

           

           return name;

       }

       

       static string GetNumberName(int number)

       {

           return GetNumberName(number.ToString());

       }

       

       static void Main(string[] args)

       {

           var number = Console.ReadLine();

           Console.WriteLine(GetNumberName(number));

       }

   }

}


Написать программу, которая для любого трехзначного натурального числа печатает его на естественном
Написать программу, которая для любого трехзначного натурального числа печатает его на естественном
Написать программу, которая для любого трехзначного натурального числа печатает его на естественном
Написать программу, которая для любого трехзначного натурального числа печатает его на естественном
Абумислимовна_кооператив585
C#string[][] words = { new [] { "", "сто ", "двести ", "триста ", "четыреста ", "пятьсот ", "шестьсот ", "семьсот ", "восемьсот ", "девятьсот "}, new [] { "", "десять ", "двадцать ", "тридцать ", "сорок ", "пятьдесят ", "шестьдесят ", "семьдесят ", "восемьдесят ", "девяносто "}, new [] { "", "один", "два", "три", "четыре", "пять", "шесть", "семь", "восемь", "девять",  }, new [] { "", "одиннадцать", "двенадцать", "тринадцать", "четырнадцать", "пятнадцать", "шестнадцать", "семнадцать", "восемнадцать", "девятнадцать" }, }; int[] a = Console.ReadLine().Select(c => int.Parse(c.ToString())).ToArray(); string s = words[0][a[0]] + (a[1] == 1 && a[2] != 0 ? words[3][a[2]] : words[1][a[1]] + words[2][a[2]]); Console.WriteLine(s); Console.ReadLine();

Пример работы:


Написать программу, которая для любого трехзначного натурального числа печатает его на естественном
Написать программу, которая для любого трехзначного натурального числа печатает его на естественном
Написать программу, которая для любого трехзначного натурального числа печатает его на естественном

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Укажите соответствия. Компьютеры Характеристики 1 поколение Компьютеры на микропроцессорах или чипах. 2 поколение Полупроводниковые машины на транзисторах. 3 поколение Искусственный интеллект. 4 поколение Вычислительные системы на интегральной схеме. Ламповые машины.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

mbykovskiy
germanleon
Amulenkov
vnolenev
Natalya1895
Ignateva737
gusrva3001
Дмитрий-Олейникова
sohrokova809
yurievaalxndra55
alex091177443
mishamedbrat
verkop9
reception
imosal