Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 26.05.2014, 16:42   #1 (permalink)
kris_kaif
Member
 
Регистрация: 26.05.2014
Сообщений: 16
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Помогите, пожалуйста, написать программу с линейным алгоритмом

Напишите программу, позволяющую введенное целое число (от 0 до 999) вывести как числительное (словами, а не числом).
kris_kaif вне форума   Ответить с цитированием

Старый 26.05.2014, 16:42
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Я уверен, что проблема будет решаться гораздо быстрее если побольше узнать о ней

Помогите, пожалуйста, написать программу
Помогите пожалуйста написать Программу в Delphi
Помогите, пожалуйста, написать программу
Помогите, пожалуйста, написать программу на С++

Старый 26.05.2014, 19:36   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от kris_kaif Посмотреть сообщение
Напишите программу, позволяющую введенное целое число (от 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.
Vladimir_S вне форума   Ответить с цитированием
Старый 27.05.2014, 12:34   #3 (permalink)
kris_kaif
Member
 
Регистрация: 26.05.2014
Сообщений: 16
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

СПАСИБО БОЛЬШОЕ))))))
kris_kaif вне форума   Ответить с цитированием
Старый 27.05.2014, 15:15   #4 (permalink)
poiu
Member
 
Регистрация: 05.03.2014
Сообщений: 200
Сказал(а) спасибо: 2
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 834
По умолчанию

я вот тоже пробовал ее написать, но опередили. так же через mod div делал. от case отказался и запутался с if'ами =) а вот если через length(s) и s[i] сделать не проще?
poiu вне форума   Ответить с цитированием
Старый 27.05.2014, 15:20   #5 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от poiu Посмотреть сообщение
от case отказался
Почему?! Как раз Case в данном случае - самое оно.
Цитата:
Сообщение от poiu Посмотреть сообщение
и запутался с if'ами =)
Естественно. Затем и Case нужен, чтобы не путаться.
Цитата:
Сообщение от poiu Посмотреть сообщение
а вот если через length(s) и s[i] сделать не проще?
Вряд ли.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 02:21.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.