Другие языки программирования и технологии
помогите составить прогу в паскале
Дано целое число от 100 до 240. Нужновывести строку словестного описания числа, например 125 - "сто двадцать пять".Нужна прога типа если число от 100 до 199 топервое слово "сто" дальше вэтом же условном операторе, если число от 100 до 109 то написать 1:write ' один' 2:write ' два'. и эту операцию записать как процедуру и потом обращаться к ней в числах 120-200, 220-240.Помогите пожалуйста, ясебе это представляю все но вот записать не могу.. очень очень надо
n - данное число,
в функцие пишешь
a:=n mod 10; - цифра едениц
n:=n div 10;
b:=n mod 10;- ..десятков
n:=ndiv 10;
c:=n mod 10;-сотен
далее куча строк типа if с=1 then s1:='сто';
и тд, в конце функции пиши dname:=s1+s2+s3;
=========
в самой программе:
s:=Dname(a,b,c) - функция с типом string а s - соответственно строка
в функцие пишешь
a:=n mod 10; - цифра едениц
n:=n div 10;
b:=n mod 10;- ..десятков
n:=ndiv 10;
c:=n mod 10;-сотен
далее куча строк типа if с=1 then s1:='сто';
и тд, в конце функции пиши dname:=s1+s2+s3;
=========
в самой программе:
s:=Dname(a,b,c) - функция с типом string а s - соответственно строка
Доброго времени суток.
Вот функция, выполняющая аналогичную задачу для двухзначных чисел. Ее не сложно доработать для любой разрядности.
function NumToStr(InN: Integer): String;
{ Константы для формирования числительных }
const
arr011 : array[0..10] of String = ('','десять ','одиннадцать ','двенадцать ','тринадцать ',
'четырнадцать ','пятнадцать ','шестнадцать ','семнадцать ',
'восемнадцать ','девятнадцать ');
arr010 : array[0..9] of String = ('','десять ','двадцать ','тридцать ','сорок ','пятьдесят ',
'шестьдесят ','семьдесят ','восемьдесят ','девяносто ');
arr001 : array[0..9] of String = ('','один ','два ','три ','четыре ','пять ','шесть ','семь ','восемь ','девять ');
var
sSign, Result : String;
N, N10, N01 : Integer;
begin
if InN < 0 then sSign := '(минус) ' else sSign := '';
InN := Abs(InN);
N01 := InN mod 10; {единицы}
N10 := InN div 10; {десятки}
Result := ''; {строка для результата}
if N10 > 0 then begin {двухзначное число}
if N10 = 1 then Result := Result + arr011[N01 + 1] { 10..19 }
else Result := Result + arr010[N10]; { 20..90 }
if N10 <> 1 then Result := Result + arr001[N01]; {1..9}
end
else {однозначное число}
Result := Result + arr001[N01];
if Result = '' then Result := 'ноль';
NumToStr := sSign + Result;
end;
Подсказка. Надо ввести массив названий сотен и получить число этих сотен.
Удачи!
Вот функция, выполняющая аналогичную задачу для двухзначных чисел. Ее не сложно доработать для любой разрядности.
function NumToStr(InN: Integer): String;
{ Константы для формирования числительных }
const
arr011 : array[0..10] of String = ('','десять ','одиннадцать ','двенадцать ','тринадцать ',
'четырнадцать ','пятнадцать ','шестнадцать ','семнадцать ',
'восемнадцать ','девятнадцать ');
arr010 : array[0..9] of String = ('','десять ','двадцать ','тридцать ','сорок ','пятьдесят ',
'шестьдесят ','семьдесят ','восемьдесят ','девяносто ');
arr001 : array[0..9] of String = ('','один ','два ','три ','четыре ','пять ','шесть ','семь ','восемь ','девять ');
var
sSign, Result : String;
N, N10, N01 : Integer;
begin
if InN < 0 then sSign := '(минус) ' else sSign := '';
InN := Abs(InN);
N01 := InN mod 10; {единицы}
N10 := InN div 10; {десятки}
Result := ''; {строка для результата}
if N10 > 0 then begin {двухзначное число}
if N10 = 1 then Result := Result + arr011[N01 + 1] { 10..19 }
else Result := Result + arr010[N10]; { 20..90 }
if N10 <> 1 then Result := Result + arr001[N01]; {1..9}
end
else {однозначное число}
Result := Result + arr001[N01];
if Result = '' then Result := 'ноль';
NumToStr := sSign + Result;
end;
Подсказка. Надо ввести массив названий сотен и получить число этих сотен.
Удачи!
Похожие вопросы
- Помогите составить прогу в паскале: А в степени N, чтобы высчитывала ответ при вводе числа и её степени.Заранее спасиб
- Помогите написать прогу на паскале
- Помогите составить программу на паскале!
- СРОЧНО ПОМОГИТЕ!!! Напишите прогу на паскале
- Помогите написать прогу на Паскале, экзамен горит, очень нужно..
- Помогите написать прогу на паскале!
- Помогите дописать прогу на паскале
- люди помогите написать прогу в паскале чтоб она запрашивала число и потом писала простое оно или нет, всю голову сломал
- помогите написать прогу в паскале срочно!!
- помогите написать прогу в паскале:)