Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/34: Рейтинг темы: голосов - 34, средняя оценка - 4.88
11 / 5 / 0
Регистрация: 22.04.2010
Сообщений: 55
1

Вывести символы, изображающие цифры числа

10.05.2010, 22:31. Показов 6158. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребята, пацаны, мужики, помогите пожжжалуйста, мне 2 задачки нужно решить, не то что бы срочно, но повышенная важность их для меня... практика кончается и мне 2 задачки на 4 нехватает, очень благодарен и признателен за внимание и понимание...
String20. Дано целое положительное число. Вывести символы, изображающие цифры этого числа (в порядке слева направо).
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.05.2010, 22:31
Ответы с готовыми решениями:

Вывести символы, изображающие цифры данного числа
Дан файл вещественных чисел. Найти общее количество его локаль- ных экстремумов, то есть локальных...

Дано целое положительное число. Вывести символы, изображающие цифры этого числа (в порядке справа на лево).
Дано целое положительное число. Вывести символы, изображающие цифры этого числа (в порядке справа...

Дано целое положительное число. Вывести символы, изображающие цифры этого числа (в порядке справа налево)
заранее спасибо

Дано целое положительное число. Вывести символы, изображающие цифры этого числа (в порядке справа на лево).
Дано целое положительное число. Вывести символы, изображающие цифры этого числа (в порядке справа...

13
64 / 64 / 44
Регистрация: 15.11.2009
Сообщений: 247
11.05.2010, 08:53 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

1)
Pascal
1
2
3
4
5
6
7
8
9
10
11
procedure Reverse(N: integer; var s_new: string);
 var i: integer; tmp, s_old: string;
 begin
 s_old := ord(N) - ord('0');
  for i := Length(s_old) downto 1 do
   begin
    tmp := s_old[i];
    s_new := s_new + tmp;
   end;
   writeln(s_new);
 end;
1
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
11.05.2010, 09:03 3
thexqn, ты явно что-то напутала в этой процедуре, перепроверь всё внимательно.
2
64 / 64 / 44
Регистрация: 15.11.2009
Сообщений: 247
11.05.2010, 09:10 4
Да, что-то совсем переклинило. Вот рабочий вариант:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function IntToStr(Value: Integer): string;
begin
  FmtStr(Result, '%d', [Value]);
end;
 
function Reverse(N: integer): string;
 var i: integer; tmp, s: string;
 begin
  s := IntToStr(N);
  for i := Length(s) downto 1 do
   Result := Result + s[i];
 end;
 
var n: integer;
 
begin
 readln(n);
 writeln(Reverse(n));
 readln
end.
2
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
11.05.2010, 09:16 5
thexqn, чтобы перевести число в строку в Pascal есть готовая Str().
1
64 / 64 / 44
Регистрация: 15.11.2009
Сообщений: 247
11.05.2010, 09:20 6
Если не подходит IntToStr, можно

Pascal
1
2
3
4
function Reverse(N: integer): string;
 var i: integer; tmp, s: string;
 begin
  Str(N, S)
1
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
11.05.2010, 09:29 7
thexqn, я бы сказал не можно, а нужно потому как большинство учебных заведений используют либо Pascal ABC, либо Turbo Pascal. А FmtStr() работать не будет ни в том, ни в другом. Поэтому для универсальности нужно использовать Str().
2
64 / 64 / 44
Регистрация: 15.11.2009
Сообщений: 247
11.05.2010, 09:43 8
Спасибо, буду знать
1
11 / 5 / 0
Регистрация: 22.04.2010
Сообщений: 55
11.05.2010, 10:20  [ТС] 9
thexqn
Конечно ребята ОГРОМНОЕ вам спасибо, но немножко не так нужно делать, имеется ввиду нужно ввести в программе все числа от 0 до 9 буквами, и когда запрос ввести с клавиатуры число, он должен выдовать эти числа словами. Например: 625 - шесть два пять
0
64 / 64 / 44
Регистрация: 15.11.2009
Сообщений: 247
11.05.2010, 10:25 10
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

тогда просто прикрутить
Pascal
1
2
3
4
5
6
case s[i] of
'1': write ('один ');
'2': write('два ');
...
'0': write('ноль ')
end;
Добавлено через 1 минуту
То есть:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
begin
 readln(n);
 Str(n, s);
 for i := 1 to length(s) do
  begin
   case s[i] of
   1: write ('один ');
   2: write('два ');
    ...
   0: write('ноль ')
 end;
 end;
 readln
end.
1
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
11.05.2010, 10:31 11
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
procedure P(N: LongInt);
const
  a: array [0..9] of string = ('íîëü','îäèí','äâà','òðè','÷åòûðå',
                               'ïÿòü','øåñòü','ñåìü','âîñåìü','äåâÿòü');
begin
  if Abs(N) > 1 then
    P(Abs(N) div 10);
  Write(a[N mod 10], ' ');
end;
 
var
  N: LongInt;
begin
  ReadLn(N);
  P(N);
  ReadLn;
end.
1
11 / 5 / 0
Регистрация: 22.04.2010
Сообщений: 55
11.05.2010, 10:34  [ТС] 12
))))) Спасибо, я бы и до такого не додумался, но в этом варианте небольшой прокол в том, что он "ноль" всегда выдает, то есть 253 - ноль два пять три
а так спс, душевное, вы даже не представляете как мне помогли )
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
11.05.2010, 10:36 13
Denis1991Fox, вот так будет правильно
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
procedure P(N: LongInt);
const
  a: array [0..9] of string = ('íîëü','îäèí','äâà','òðè','÷åòûðå',
                               'ïÿòü','øåñòü','ñåìü','âîñåìü','äåâÿòü');
begin
  if Abs(N) > 9 then
    P(Abs(N) div 10);
  Write(a[N mod 10], ' ');
end;
 
var
  N: LongInt;
begin
  ReadLn(N);
  P(N);
  ReadLn;
end.
1
0 / 0 / 0
Регистрация: 24.09.2013
Сообщений: 35
06.11.2013, 10:05 14
0
06.11.2013, 10:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.11.2013, 10:05
Помогаю со студенческими работами здесь

Вывести символы, изображающие цифры числа
Дано целое положительное число. Вывести символы, изображающие цифры этого числа (в порядке справа...

Вывести на экран все трехзначные числа, сумма первой и третьей цифры которых больше второй цифры.
Хорошая тема,поэтому ПОМОГИТЕ РЕШИТЬ ЗАДАЧУ!!!! Условие: Вывести на экран все трехзначные числа,...

Вывести на экран все трехзначные числа, сумма первой и третьей цифры которых больше второй цифры.
1. Построить блок-схему и решить задачу, используя цикл с предусловием: Вывести на экран все...

Вывести на экран все трехзначные числа, сумма первой и третьей цифры которых больше второй цифры.
Вывести на экран все трехзначные числа, сумма первой и третьей цифры которых больше второй...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru