М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
loginov555
loginov555
17.05.2020 11:51 •  Информатика

Написать программу, которая для любого трехзначного натурального числа печатает его на естественном языке. Например, 107 → сто семь, 234 → двести тридцать четыре, 517 → пятьсот семнадцать.

👇
Ответ:
andkrutoi2018
andkrutoi2018
17.05.2020
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();

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


Написать программу, которая для любого трехзначного натурального числа печатает его на естественном
Написать программу, которая для любого трехзначного натурального числа печатает его на естественном
Написать программу, которая для любого трехзначного натурального числа печатает его на естественном
4,8(40 оценок)
Ответ:
proadidas90
proadidas90
17.05.2020

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

Код:

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));

       }

   }

}


Написать программу, которая для любого трехзначного натурального числа печатает его на естественном
Написать программу, которая для любого трехзначного натурального числа печатает его на естественном
Написать программу, которая для любого трехзначного натурального числа печатает его на естественном
Написать программу, которая для любого трехзначного натурального числа печатает его на естественном
4,7(10 оценок)
Открыть все ответы
Ответ:
Marinet1806
Marinet1806
17.05.2020
1. Электронная таблица представляет собой совокупность нумерованных строк и поименованных столбцов(латинскими буквами)

2. Свойство алгоритма,заключающееся в отсутствии ошибок,алгоритм должен приводить к правильному результату для всех допустимых входных значений,называется результативность.

3.Объем информационного сообщения 12288 битов,можно вводить как...
12288 бит = 1536 байт = 1,5Кбайт

4.Какой алгоритм называется линейным? Линейным называется алгоритм, который не имеет ответвлений (поворотов), другими словами прямой.
4,6(51 оценок)
Ответ:
пророк2345
пророк2345
17.05.2020
Const
  n=10;
var
  a:array[1..n] of integer;
  i,kp,sn: integer;

begin
  Randomize;
  Writeln('Элементы массива');
  kp:=0; sn:=0;
  for i:=1 to n do
  begin
    a[i]:= Random(31)-10;
    Write(a[i]:4);
    if a[i]>0 then Inc(kp);
    if (i mod 2)<>0 then sn:=sn+a[i]
  end;
  Writeln;
  Writeln('Количество положительных элементов: ',kp);
  Writeln('Сумма элементов на нечетных местах: ',sn);
  Writeln('Элементы массива после замены');
  for i:=1 to n do
  begin
    if a[i]<10 then a[i]:=10;
    Write(a[i]:4)
  end;
  Writeln
end.

Тестовое решение:
Элементы массива
  10  11  -4  11  12  13  -1  -2  -8   7
Количество положительных элементов: 6
Сумма элементов на нечетных местах: 9
Элементы массива после замены
  10  11  10  11  12  13  10  10  10  10
4,4(31 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ