3 / 3 / 0
Регистрация: 20.04.2012
Сообщений: 27
1

Вывести строку-описание данного числа, например: 256 — "двести пятьдесят шесть"

21.04.2012, 18:57. Показов 11524. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Помогите с задачей пожалуйста. на C# Дано целое число в диапазоне 100–999. Вывести строку-описание данного числа, например: 256 — «двести пятьдесят шесть», 814 — «восемьсот четырнадцать». Если пользователь введёт данные не соответствующие условию задачи - выдать сообщение об ошибке.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.04.2012, 18:57
Ответы с готовыми решениями:

Вывести строку-описание заданного числа, например: 256 — «двести пятьдесят шесть»
Дано целое число в диапазоне 100-999. Вывести строку-описание данного числа, например: 256 —...

Дано целое число в диапазоне 100–999. Вывести строку-описание данного числа, например: 256 — «двести пятьдесят
Дано целое число в диапазоне 100–999. Вывести строку-описание данного числа, например:...

Строка: Вывести строку-описание данного числа, например: 256 — «двести пятьдесят шесть»
Дано целое число в диапазоне 100–999. Вывести строку-описание данного числа, например: 256 —...

Вывести строку-описание данного числа, например: 256 — "двести пятьдесят шесть"
Public Class Form1 '5. Дано целое число в диапазоне 100 – 999. Вывести строку — словесное...

3
54 / 42 / 7
Регистрация: 08.04.2011
Сообщений: 227
21.04.2012, 19:45 2
Лучший ответ Сообщение было отмечено как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
    
    /// <summary>
    /// Author: FanAs
    /// </summary>
    class Program
    {
        private static string[] _first;
        private static string[] _second;
        private static string[] _third;
 
        static void Main()
        {
            _first = new[] {"cто", "двести", "триста", "четыреста", "пятьсот", "шестьсот", "семьсот", "восемьсот", "девятьсот"};
            _second = new[] {"десять", "двадцать", "тридцать", "сорок", "пятьдесят", "шестьдесят", "семьдесят", "восемьдесят", "девяносто"};
            _third = new[] {"один", "два", "три", "четыре", "пять", "шесть", "семь", "восемь", "девять"};
 
            Console.WriteLine("Введите число:");
            var str = Console.ReadLine();
            try
            {
                var n = Int32.Parse(str);
 
                if (n < 100)
                {
                    Console.WriteLine("Неправильный формат ввода, попробуйте еще раз!");
                    Main();
                }
 
                if (str.Length > 3)
                {
                    Console.WriteLine("Неправильный формат ввода, попробуйте еще раз!");
                    Main();
                }
            }
            catch (FormatException)
            {
                Console.WriteLine("Неправильный формат ввода, попробуйте еще раз!");
                Main();
            }
 
            var chars = str.ToCharArray();
 
            var i = 0;
            var num = "";
 
            foreach (var ch in chars)
            {
                int n;
                switch (i)
                {
                    case 0:
                        n = Int32.Parse(ch.ToString()) - 1;
                        if (n >= 0)
                            num += _first[n] + " ";
                        break;
                    case 1:
                        n = Int32.Parse(ch.ToString()) - 1;
                        if (n >= 0)
                            num += _second[n] + " ";
                        break;
                    case 2:
                        n = Int32.Parse(ch.ToString()) - 1;
                        if (n >= 0)
                            num += _third[n] + " ";
                        break;
                }
 
                i++;
            }
 
            Console.WriteLine(num);
            Main();
        }
    }
Держите! Полностью рабочее, со всеми проверками и рекурсией.
3
3 / 3 / 0
Регистрация: 20.04.2012
Сообщений: 27
21.04.2012, 19:59  [ТС] 3
Спасибо огромное!!!!!!
0
-15 / 0 / 0
Регистрация: 01.11.2013
Сообщений: 7
01.11.2013, 21:58 4
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Public Class Form1
    '5. Дано целое число в диапазоне 100 – 999. Вывести строку — словесное описание данного числа, 
    '    например: 256 — "двести пятьдесят шесть", 814 — "восемьсот четырнадцать".
    Dim sto() As String = {"НОЛЬ", "сто", "двести", "триста", "четыреста", "пятьсот", "шестьсот", "семьсот", "восемьсот", "девятьсот"}
    Dim eden() As String = {"НОЛЬ", "один", "два", "три", "четыре", "пять", "шесть", "семь", "восемь", "девять"}
    Dim des() As String = {"НОЛЬ", "десять", "двадцать", "тридцать", "сорок", "пятьдесят", "шестьдесят", "семьдесят", "восемьдесят", "девяносто"}
    Dim desFrag() As String = {"десять", "одиннадцать", "двенадцать", "тринадцать", "четырнадцать", "пятнадцать", "шестнадцать", "семнадцать", "восемнадцать", "девятнадцать"}
    Private Sub MaskedTextBox1_TextChanged(sender As System.Object, e As System.EventArgs) Handles MaskedTextBox1.TextChanged
        Dim a As Integer
        Dim b, s As String
        s = ""
        If Len(MaskedTextBox1.Text) = 1 Then
            a = CInt(MaskedTextBox1.Text)
            Label1.Text = eden(a)
        ElseIf Len(MaskedTextBox1.Text) = 2 Then
            b = MaskedTextBox1.Text
            If Mid(b, 1, 1) = 1 Then
                Label1.Text = desFrag(Mid(b, 2, 2))
            ElseIf Mid(b, 1, 1) <> 1 Then
                If Mid(b, 2, 2) = 0 Then
                    s = s + des(Mid(b, 1, 1))
                    Label1.Text = s
                Else
                    s = s + des(Mid(b, 1, 1)) + " " + eden(Mid(b, 2, 2))
                    Label1.Text = s
                End If
                End If
        ElseIf Len(MaskedTextBox1.Text) = 3 Then
            b = MaskedTextBox1.Text
            If Mid(b, 2, 1) = 0 And Mid(b, 3, 3) = 0 Then
                s = s + sto(Mid(b, 1, 1))
                Label1.Text = s
            ElseIf Mid(b, 2, 1) = 0 And Mid(b, 3, 3) <> 0 Then
                s = s + sto(Mid(b, 1, 1)) + " " + eden(Mid(b, 3, 3))
                Label1.Text = s
            ElseIf Mid(b, 2, 1) = 1 Then
                s = s + sto(Mid(b, 1, 1)) + " " + desFrag(Mid(b, 3, 3))
                Label1.Text = s
            ElseIf Mid(b, 2, 1) > 1 Then
                s = s + sto(Mid(b, 1, 1)) + " " + des(Mid(b, 3, 3)) + " " + eden(Mid(b, 3, 3))
                Label1.Text = s
            End If
        End If
    End Sub
0
01.11.2013, 21:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.11.2013, 21:58
Помогаю со студенческими работами здесь

Дано целое число в диапазоне 100-900. Вывести в строку описание данного числа, например: 256 - "двести пятьдесят шесть"
Дано целое число в диапазоне 100-900. Вывести в строку описание данного числа, например: 256 -...

дано целое число в диапазоне 100-999 вывести строку-описание данного числа, например: 256-"двести пятьдесят шесть" 814-"восемьсот четырнадцать"
дано целое число в диапазоне 100-999 вывести строку-описание данного числа, например: 256-&quot;двести...

Дано целое число в диапазоне 100–999. Вывести строку-описание данного числа, например: 256 — «двести пятьдесят
Дано целое число в диапазоне 100–999. Вывести строку-описание данного числа, например: 256 —...

Вывести строку-описание данного числа
Задача: Дано целое число в диапазоне 100–999. Вывести строку-описание данного числа, например: 256...

Вывести строку - описание данного числа.
Дано целое число в диапазоне от 100 до 999. Вывести строку - описание данного числа. Например 256 -...

Вывести строку-описание данного числа
Дано целое число х. Вывести строку-описание данного числа вида: &quot;четное отрицательное число&quot;,...

Вывести строку-описание данного числа
Задание: Дано целое число в диапазоне 100-999. Вывести строку-описание данного числа, например:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru