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

Вывод числа прописью

26.04.2014, 22:24. Показов 10027. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть программа, которая выводит числа прописью все до 999 (включительно), 1000 и 2000, но уже 1005 не выведет. а надо, чтобы все числа считала до 3000
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
    uses Crt;
      type
        nazw = array[0..9] of String[15];
      const
        ed : nazw = (' ноль ',' один ',' два ',' три ',' четыре ',' пять ',' шесть ',' семь ',' восемь ',' девять ');
        des: nazw = (' ',' десять ',' двадцать ',' тридцать ',' сорок ',' пятьдесят ',' шестьдесят ',' семьдесят ',' восемьдесят ',' девяносто ');
        sot: nazw = (' ',' сто ',' двести ',' тристо ',' четыресто ',' пятьсот ',' шестьсот ',' семьсот ',' восемьсот ',' девятьсот ');
        dd : nazw = (' ',' одинадцать ',' двенадцать ',' тринадцать ',' четырнадцать ',' пятнадцать ',' шестнадцать ',' семнадцать ',' восемьнадцать ',' девятнадцать ');
      var
        s,d,e,x : Integer;
        st      : String;
      Begin
        Write('Введите число [0..1000] :'); Readln(x);
       if x=1000 then st:=' тысяча ' else
      if (x=2000) then st:=' две тысячи ' else begin
        s:= x div 100; x:=x mod 100; st:=sot[s];
        d:= x div 10; e:=x mod 10;
        if (d=1) and (e<>0) then st:=st+dd[e]
                            else st:=st+des[d]+ed[e];
       end;
        writeln(st);
        readln;
      End.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.04.2014, 22:24
Ответы с готовыми решениями:

Написать прописью числа от 1 до 1000
Дано натуральное число n (n&lt;=1000). Запишите это число русскими словами.

Ввод числа прописью до 1000000
Нашел тут программу с прописью чисел до 3000, как её дополнить до 1000000? uses Crt; type nazw...

Вывести числа прописью
Составьте программу, которая запрашивает количество сотен, десятков и единиц в загаданном числе и...

Вывести числа прописью
Помогите решить задачку в паскале абц ) Дано целое число в диапазоне 100-999. Вывести...

1
Почетный модератор
64288 / 47587 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
27.04.2014, 09:49 2
Так попробуй
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
uses Crt;
type nazw = array[0..9] of String[15];
const
ed : nazw = ('',' один',' два',' три',' четыре',' пять',' шесть',' семь',
              ' восемь',' девять');
des: nazw = ('',' десять',' двадцать',' тридцать',' сорок',' пятьдесят',
             ' шестьдесят',' семьдесят',' восемьдесят ',' девяносто');
sot: nazw = ('',' сто',' двести',' триста',' четыреста',' пятьсот',' шестьсот',
             ' семьсот',' восемьсот',' девятьсот');
dd : nazw = ('',' одинадцать',' двенадцать',' тринадцать',' четырнадцать',
             ' пятнадцать',' шестнадцать',' семнадцать',' восемьнадцать',
             ' девятнадцать');
tys: array[1..3] of string[15]=('одна тысяча','две тысячи','три тысячи');
var t,s,d,e,x : Integer;
    st      : String;
Begin
repeat
Write('Введите число [0..3000] :');
Readln(x);
until (x>=0)and(x<=3000);
if x=0 then
 begin
  writeln('ноль');
  exit
 end;
st:='';
t:=x div 1000;
if t>0 then st:=st+tys[t];
s:=x div 100 mod 10;
st:=st+sot[s];
x:=x mod 100;
d:=x div 10;
e:=x mod 10;
if (d=1) and (e<>0) then st:=st+dd[e]
else st:=st+des[d]+ed[e];
writeln(st);
End.
2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.04.2014, 09:49
Помогаю со студенческими работами здесь

Найти сумму цифр числа, записанного прописью
Всем доброго времени суток! Помогите, пожалуйста, с задачей. Дана строка, в которой записано целое...

Вывод числа прописью и наоборот, вывод слова числом
Вечер добрый. Есть программа, которая выводит число прописью до 99.999.999. Как сделать, чтобы она...

Вывод числа прописью
Добрый вечер, уважаемые форумчане. Есть задание от преподавателя на автомат: вводишь число рублей,...

Вывод числа прописью
Составить программу, которая читает натуральное число N в десятичном представлении (N &lt; 10000), а...


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

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

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