• Предмет: Информатика
  • Автор: WonderWaffleILL
  • Вопрос задан 8 лет назад

Напишите процедуру, которая выводит переданное ей число прописью. Например, 21 - двадцать один
Язык Паскаль

Ответы

Ответ дал: petyaGavrikov
0
 procedure p(x:integer; var st:string);
 type
        name = array[0..9] of String[50];
      const
        s1 : name = (' ноль ',' один ',' два ',' три ',' четыре ',' пять ',' шесть ',' семь ',' восемь ',' девять ');
        s2: name = (' ',' десять ',' двадцать ',' тридцать ',' сорок ',' пятьдесят ',' шестьдесят ',' семьдесят ',' восемьдесят ',' девяносто ');
        s3: name = (' ',' сто ',' двести ',' триста ',' четыреста ',' пятьсот ',' шестьсот ',' семьсот ',' восемьсот ',' девятьсот ');
        s4 : name = (' ',' одиннадцать ',' двенадцать ',' тринадцать ',' четырнадцать ',' пятнадцать ',' шестнадцать ',' семнадцать ',' восемнадцать ',' девятнадцать ');
      var
        s,d,e : Integer;
begin
    s:= x div 100; x:=x mod 100;
    st:=s3[s];
    d:= x div 10; e:=x mod 10;
    if (d=1) and (e<>0) then st:=st+s4[e]
                         else st:=st+s2[d]+s1[e];
end;
var x:integer; st:string;
 Begin
     Write('Введите число [0..999] :');
     Readln(x);
     p(x,st);
     writeln(st);
 End.

Пример:
Введите число [0..999] : 714
семьсот четырнадцать
Ответ дал: WonderWaffleILL
0
Можно без массивов, пожалуйста? Тема процедур идет до массивов, значит надо как-то без них
Ответ дал: Аноним
0
А где в Вашем вопросе написано, что без массивов?
Вас заинтересует