Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

нужна помощь с программой

-

Вопросы и ответы, обсуждения

- Ваши вопросы по Pascal/Delphi только в данном разделе

Ответ
 
Опции темы
Старый 01.07.2013, 12:59   #1
 Разведчик
Аватар для pe4nk
 
pe4nk никому не известный тип
Регистрация: 06.08.2012
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию нужна помощь с программой

Задача: Вывести заданное трехзначное число в буквенном формате.

Код:
var
H,D,O: string;
x,y,z,n: integer;
begin
writeln('введите трехзначное число');
readln(n);
 if n= 0 then
 writeln('ноль')
 else

x:= n div 100; //сотни
case x of

 1: H:='сто';
 2: H:='двести';
 3: H:='триста';
 4: H:='четыреста';
 5: H:='пятьсот';
 6: H:='шестьсот';
 7: H:='семьсот';
 8: H:='восемьсот';
 9: H:='девятьсот';
 0: H:='';
 end;
n:= n mod 100; //убираем сотни
y:= n div 10;    // десятки

case y of
 0: D:='';
 2: D:='двадцать';
 3: D:='тридцать';
 4: D:='сорок';
 5: D:='пятьдесят';
 6: D:='шестьдесят';
 7: D:='семьдесят';
 8: D:='восемьдесят';
 9: D:='девяносто';
 end;
z:= n mod 10;   //единицы

case z of
 0: O:='';
 1: O:='один';
 2: O:='два';
 3: O:='три';
 4: O:='четыре';
 5: O:='пять';
 6: O:='шесть';
 7: O:='семь';
 8: O:='восемь';
 9: O:='девять';
 end;
case n of    //10-19
 10: D:='десять';
 11: D:='одиннадцать';
 12: D:='двенадцать';
 13: D:='тринадцать';
 14: D:='четырнадцать';
 15: D:='пятнадцать';
 16: D:='шестнадцать';
 17: D:='семнадцать';
 18: D:='восемнадцать';
 19: D:='девятнадцать';
 end;
if (n<=19) and (n>=10) then O:=''; 
writeln(H,' ',D,' ',O);
end.

Можно ли более рационально реализовать то же самое(меньше кода, тот же результат)?
Заранее спасибо.
  Ответить с цитированием
Старый 01.07.2013, 16:25   #2
 Старший сержант
Аватар для metraz
 
metraz в состоянии испепелить взглядомmetraz в состоянии испепелить взглядомmetraz в состоянии испепелить взглядомmetraz в состоянии испепелить взглядомmetraz в состоянии испепелить взглядомmetraz в состоянии испепелить взглядомmetraz в состоянии испепелить взглядомmetraz в состоянии испепелить взглядомmetraz в состоянии испепелить взглядомmetraz в состоянии испепелить взглядомmetraz в состоянии испепелить взглядом
Регистрация: 25.12.2011
Сообщений: 191
Популярность: 5259
Сказал(а) спасибо: 31
Поблагодарили 235 раз(а) в 135 сообщениях
Отправить сообщение для metraz с помощью Skype™
 
По умолчанию Re: нужна помощь с программой

разве что через массивы
________________

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
  Ответить с цитированием
Старый 01.07.2013, 18:05   #3
 Разведчик
Аватар для pe4nk
 
pe4nk никому не известный тип
Регистрация: 06.08.2012
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: нужна помощь с программой

Можете примерно описать алгоритм? Просто я неделю назад начал изучать паскаль и мне немного трудно представить, как это выглядит.
  Ответить с цитированием
Старый 01.07.2013, 22:47   #4
Знаток Dark Orbit
 Рыцарь-капитан
Аватар для V.I.R.U.S.
 
V.I.R.U.S. сломал счётчик популярности :(V.I.R.U.S. сломал счётчик популярности :(V.I.R.U.S. сломал счётчик популярности :(V.I.R.U.S. сломал счётчик популярности :(V.I.R.U.S. сломал счётчик популярности :(V.I.R.U.S. сломал счётчик популярности :(V.I.R.U.S. сломал счётчик популярности :(V.I.R.U.S. сломал счётчик популярности :(V.I.R.U.S. сломал счётчик популярности :(V.I.R.U.S. сломал счётчик популярности :(V.I.R.U.S. сломал счётчик популярности :(
Регистрация: 21.07.2010
Сообщений: 528
Популярность: 17011
Сказал(а) спасибо: 199
Поблагодарили 1,228 раз(а) в 356 сообщениях
Отправить сообщение для V.I.R.U.S. с помощью ICQ Отправить сообщение для V.I.R.U.S. с помощью Skype™
 
По умолчанию Re: нужна помощь с программой

Цитата:
Сообщение от pe4nkПосмотреть сообщение
Можете примерно описать алгоритм? Просто я неделю назад начал изучать паскаль и мне немного трудно представить, как это выглядит.

Изучи сперва как Hello World делается и другие основы программирования. А не лезь в дебри.
________________
ARS LONGA, VITA BREVIS


Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).


Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).


Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).


Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).


Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).


Кандидат на пост Гаранта Zhyk.ru

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
  Ответить с цитированием
Старый 03.07.2013, 10:20   #5
-= Мастер Света =-
 Рыцарь-капитан
Аватар для Ginrey
 
Ginrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака Норриса
Регистрация: 14.06.2012
Сообщений: 511
Популярность: 7566
Сказал(а) спасибо: 4
Поблагодарили 181 раз(а) в 88 сообщениях
 
По умолчанию Re: нужна помощь с программой

если более простым методом то можешь сначала считать длину, чтобы определить будут в ней сотни, тысячи или десятки. потом сканировать от первого символа и добавлять его значение в буквенной форме. а если еще код короче сделать, то занести всевозможные варианты в строковый компонента, а из него через цикл вытащить нужное значение. конечно предварительно придется массив всех значений создать
________________
Хотите как то отблагодарить за помощь?
Не стесняйтесь нажимайте "Спасибо"
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).

Делаю программы на заказ, по всем вопросам в скайп: Ginrey2
  Ответить с цитированием
Старый 06.07.2013, 12:28   #6
Подпольщик Warcraft 3
 Маршал
Аватар для Purify
 
Purify в состоянии испепелить взглядомPurify в состоянии испепелить взглядомPurify в состоянии испепелить взглядомPurify в состоянии испепелить взглядомPurify в состоянии испепелить взглядомPurify в состоянии испепелить взглядомPurify в состоянии испепелить взглядомPurify в состоянии испепелить взглядомPurify в состоянии испепелить взглядомPurify в состоянии испепелить взглядомPurify в состоянии испепелить взглядом
Регистрация: 14.08.2010
Сообщений: 874
Популярность: 5016
Золото Zhyk.Ru: 95
Сказал(а) спасибо: 157
Поблагодарили 386 раз(а) в 241 сообщениях
 
По умолчанию Re: нужна помощь с программой

Было когда-то похожее задание, можешь сравнить и разобрать алгоритм.

Было дано 40 цапель и нужно было вывести словесно их количество.
Код:
program abc;

var
  a: integer;
  b, c: string;

begin
  write('Введите количество цапель (от 10 до 40): ');
  readln(a);
  if a mod 10 = 1 then b := 'одна выносливая цапля';
  if a mod 10 = 2 then b := 'две выносливых цапель';
  if a mod 10 = 3 then b := 'три выносливых цапель';
  if a mod 10 = 4 then b := 'четыре выносливых цапель';
  if a mod 10 = 5 then b := 'пять выносливых цапель';
  if a mod 10 = 6 then b := 'шесть выносливых цапель';
  if a mod 10 = 7 then b := 'семь выносливых цапель';
  if a mod 10 = 8 then b := 'восемь выносливых цапель';
  if a mod 10 = 9 then b := 'девять выносливых цапель';
  if a mod 10 = 0 then b := '';
  if a div 10 = 2 then c := 'Двадцать';
  if a div 10 = 3 then c := 'Тридцать';
  if a div 10 = 4 then c := 'Сорок';
  case a of
    10: writeln('Десять выносливых цапель');
    11: writeln('Одиннадцать выносливых цапель');
    12: writeln('Двенадцать выносливых цапель');
    13: writeln('Тринадцать выносливых цапель');
    14: writeln('Четырнадцать выносливых цапель');
    15: writeln('Пятнадцать выносливых цапель');
    16: writeln('Шестнадцать выносливых цапель');
    17: writeln('Семнадцать выносливых цапель');
    18: writeln('Восемнадцать выносливых цапель');
    19: writeln('Девятнадцать выносливых цапель');
    40: writeln('Сорок выносливых цапель');
    20: writeln('Двадцать выносливых цапель');
    30: writeln('Тридцать выносливых цапель');
  else writeln( c, ' ', b, ' ');
  end;
end.
________________

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).

ICQ 31-32-31
  Ответить с цитированием
Ответ


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

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь Karlos921 Треп 0 16.11.2011 12:11
[Помогите!] Нужна помощь с программой. qwerty-sing Общение и обсуждение 5 20.02.2011 01:47
Нужна помощь по приложению Город(помощь оплачу) legorii Баги игр ВКонтакте 1 10.03.2010 18:37
[Помогите!] Нужна помощь! Нужна аватарка! Flapes Треп 40 28.12.2009 21:07

Заявление об ответственности / Список мошенников

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

Пишите нам: forum@zhyk.ru
Copyright © 2025 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net