• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Помогите, пожалуйста, написать программу с линейным алгоритмом

kris_kaif

Новые
Регистрация
26 Май 2014
Сообщения
16
Реакции
0
Баллы
0
Помогите, пожалуйста, написать программу с линейным алгоритмом

Напишите программу, позволяющую введенное целое число (от 0 до 999) вывести как числительное (словами, а не числом).
 
Напишите программу, позволяющую введенное целое число (от 0 до 999) вывести как числительное (словами, а не числом).
Написал:
Код:
Var
 N,m100,m10,m1,md:Integer;
Begin
 Repeat
  Write('N (0 to quit) = ');
  Readln(N);
  If N=0 then writeln('ноль')
  else
   begin
    md:=N mod 100;
    m1:=N mod 10;
    N:=N div 10;
    m10:=N mod 10;
    m100:=N div 10;
    Case M100 of
     1:write('сто ');
     2:write('двести ');
     3:write('триста ');
     4:write('четыреста ');
     5:write('пятьсот ');
     6:write('шестьсот ');
     7:write('семьсот ');
     8:write('восемьсот ');
     9:write('девятьсот ');
    End;
    Case M10 of
     1:Case md of
       10:write('десять');
       11:write('одиннадцать');
       12:write('двенадцть');
       13:write('тринадцать');
       14:write('четырнадцать');
       15:write('пятнадцать');
       16:write('шестнадцать');
       17:write('семнадцать');
       18:write('восемнадцать');
       19:write('девятнадцать');
      end;
     2:write('двадцать ');
     3:write('тридцать ');
     4:write('сорок ');
     5:write('пятьдесят ');
     6:write('шестьдесят ');
     7:write('семьдесят ');
     8:write('восемьдесят ');
     9:write('девяносто ');
    End;
    If m10<>1 then
     Case m1 of
      1:write('один');
      2:write('два');
      3:write('три');
      4:write('четыре');
      5:write('пять');
      6:write('шесть');
      7:write('семь');
      8:write('восемь');
      9:write('девять');
     end;
    N:=1;
    Writeln;
   end;
 Until N=0;
End.
 
СПАСИБО БОЛЬШОЕ))))))
 
я вот тоже пробовал ее написать, но опередили. так же через mod div делал. от case отказался и запутался с if'ами =) а вот если через length(s) и s сделать не проще?
 
от case отказался
Почему?! Как раз Case в данном случае - самое оно.
и запутался с if'ами =)
Естественно. Затем и Case нужен, чтобы не путаться.
а вот если через length(s) и s сделать не проще?
Вряд ли.
 
Назад
Сверху