Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
0 / 0 / 0
Регистрация: 08.11.2019
Сообщений: 23

Замена чисел словами

19.08.2020, 15:42. Показов 3064. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пожалуйста помогите решить проблему.
что нужно сделать чтобы программа не вставляла цифры с 1..9 в цифры с 11..19?!
Pascal
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
program dva;
var a, b, c, d, s: integer;
begin
    
     begin
     for a:=1 to 999 do 
       begin
          case a of
            
         
            100:writeln ('сто');
           101..199:write ('сто ');
           200:writeln ('дветсти');
           201..299:write ('дветсти ');
           300:writeln ('триста');
           301..399:write ('триста ');
           400:writeln ('четыреста');
           401..499:write ('четыреста ');
           500:writeln ('пятьсот');
           501..599:write ('пятьсот ');
           600:writeln ('шестьсот');
           601..699:write ('шестьсот ');
           700:writeln ('семьсот');
           701..799:write ('семьсот ');
           800:writeln ('восемьсот');
           801..899:write ('восемьсот ');
           900:writeln ('девятьсот');
           901..999:write ('девятьсот ');
         
         end;
         
         
         
         begin
            d:=a mod 100;
         end;
         
         Case d of
          
           
           20:writeln ('двадцать');
           21..29:write ('двадцать ');
           30:writeln ('тридцать');
           31..39:write ('тридцать ');
           40:writeln ('сорок');
           41..49:write ('сорок ');
           50:writeln ('пятьдесят');
           51..59:write ('пятьдесят ');
           60:writeln ('шестьдесять');
           61..69:write ('шестьдесять ');
           70:writeln ('семьдесят');
           71..79:write ('семьдесят ');
           80:writeln ('восемьдесят');
           81..89:write ('восемьдесят ');
           90:writeln ('девяносто');
           91..99:write ('девяносто ');
           end;
          b:=a mod 10;
          
          
          case b of
            
            1:writeln ('один ');
            2:writeln ('два ');
            3:writeln ('три ');
            4:writeln ('четыре ');
            5:writeln ('пять ');
            6:writeln ('шесть ');
            7:writeln ('семь ');
            8:writeln ('восемь ');
            9:writeln ('девять ')
            else if (b>9) and (b<20) then writeln('');
           
              end;
              s:=a mod 100;
              case s of
           11:writeln ('одиннадцать');
           12:writeln ('двенадцать');
           13:writeln ('тринадцать');
           14:writeln ('четырнадцать');
           15:writeln ('пятнадцать');
           16:writeln ('шестнадцать');
           17:writeln ('семнадацать');
           18:writeln ('восемнадцать');
           19:writeln ('девятнадцать');
          
    
  
end;
        
            
           end;
            
          end;
          
          
          end.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.08.2020, 15:42
Ответы с готовыми решениями:

Замена чисел словами
Здравствуйте! Необходимо заменить числа из Memo1 словами из Memo2 и записать в Memo3. К примеру, есть последовательность чисел,...

Замена цифр словами
6 заданрие 14 вариант Написать програму которая считывает текст с клавиатуры и выводит его на экран заменяяцифры от 0 до 9 на слова...

Замена пробела между словами
Доброго времени суток! Подскажите, пожалуйста, как заменить пробел между словами на другой символ, не затронув другие пробелы? Пытаюсь...

7
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
19.08.2020, 16:09
Вывести числа прописью
0
 Аватар для mr-Crocodile
3053 / 1672 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
19.08.2020, 16:21
Лучший ответ Сообщение было отмечено Dairs7 как решение

Решение

тут намного короче и уместнее использовать массивы вместо CASE, но если тебе такой подход ближе, то попробуй такой код
Pascal
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
program dva;
 
var
  a, d: integer;
 
begin
  
  for a := 1 to 999 do
  begin
    d := a;
    case d of
      100..199: write('сто ');
      200..299: write('двести ');
      300..399: write('триста ');
      400..499: write('четыреста ');
      500..599: write('пятьсот ');
      600..699: write('шестьсот ');
      700..799: write('семьсот ');
      800..899: write('восемьсот ');
      900..999: write('девятьсот '); 
    end;
    
    d := d mod 100;
    
    case d of
      10: write('десять');
      11: write('одиннадцать');
      12: write('двенадцать');
      13: write('тринадцать');
      14: write('четырнадцать');
      15: write('пятнадцать');
      16: write('шестнадцать');
      17: write('семнадацать');
      18: write('восемнадцать');
      19: write('девятнадцать');
      20..29: write('двадцать ');
      30..39: write('тридцать ');
      40..49: write('сорок ');
      50..59: write('пятьдесят ');
      60..69: write('шестьдесять ');
      70..79: write('семьдесят ');
      80..89: write('восемьдесят ');
      90..99: write('девяносто ');
    end;
    
    if not (d in [11..19]) then begin
      d := d mod 10;
      
      case d of
        1: write('один ');
        2: write('два ');
        3: write('три ');
        4: write('четыре ');
        5: write('пять ');
        6: write('шесть ');
        7: write('семь ');
        8: write('восемь ');
        9: write('девять ')
      end;
    end;
    
    WriteLn;    
  end;
  
  
  
end.
1
0 / 0 / 0
Регистрация: 08.11.2019
Сообщений: 23
19.08.2020, 20:04  [ТС]
Спасибо это помогло.
Но возможно ли это сделать без операции in и массивов ?
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
19.08.2020, 20:11
По ссылке нет ни массивов ни in.
0
 Аватар для mr-Crocodile
3053 / 1672 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
20.08.2020, 09:23
Лучший ответ Сообщение было отмечено Dairs7 как решение

Решение

Цитата Сообщение от Dairs7 Посмотреть сообщение
Но возможно ли это сделать без операции in
1) без операции IN
замените строчку кода
Цитата Сообщение от mr-Crocodile Посмотреть сообщение
Pascal
46
    if not (d in [11..19]) then begin
на такую строчку
Pascal
46
    if (d<10) or (d>20) then begin
Цитата Сообщение от Dairs7 Посмотреть сообщение
и массивов ?
а массивов в моём коде и так нет.
1
21.08.2020, 09:12

Не по теме:

Цитата Сообщение от Cyborg Drone Посмотреть сообщение
Последний раз редактировалось Cyborg Drone; Вчера в 21:58. Причина: [PASCAL=46]
О! Круто, не знал про такую форумную фичу с начальной нумерацией строк. Полезно. Спасибо!

0
27.08.2020, 02:31

Не по теме:

Кроме этого, можно вообще убрать нумерацию строк, если указать [PASCAL=-1].

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.08.2020, 02:31
Помогаю со студенческими работами здесь

Чтение слов из текстового файла и замена этими словами названий переменных в других файлах (оптимизация)
Здравствуйте, помогите с оптимизацией кода Программа читает слова из текстового файла и заменяет этими словами названия переменных и т.д...

Передача функций в функции, замена инициализации функции ключевыми словами
Хочу сделать фишку по типу property в c++/cli int property a{ int get(){ return value; } } и так же есть set Хочу...

Запись чисел словами
допустим задаём значение int 23; оно нам пишет &quot;двадцать три&quot;. как написать такую программу? нужно допустим писать 1 = odin; 2 = dva и...

Вывод чисел словами
Нужно написать программу которая выводит любое 3-х значное число, которое ввел пользователь словами(122-сто двадцать два). плиз...

Вывод чисел словами
Вводится любое 3-х значное число. Вывести его словами


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru