![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Гость |
![]()
Сообщение
#1
|
Гость ![]() |
Помогите, пожалуйста !!!!
Дана символьная строка, представляющая собой запись натурального числа в р-ичной системе счисления (2 <= р<= 9). Составить программу перевода этого числа в десятичную систему счисления. Нужно сделать, используя РЕКУРСИВНУЮ ФУНКЦИЮ. |
klem4 |
![]()
Сообщение
#2
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
в FAQ есть функция по переводу числа из 10-ой в любую и наоборот, но не рекурсивная, попробуй переделать сам.
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Гость |
![]()
Сообщение
#3
|
Гость ![]() |
|
klem4 |
![]()
Сообщение
#4
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Мм ну вот проверь это:
function to_dec(const s: String; const p: Byte; const T: Integer): LongInt;
begin
if Length(s) = 0 then to_dec := 0 else
to_dec := (ord(s[Length(s)]) - 48) * T +
to_dec(Copy(s, 1, Length(s) - 1), p, T * p);
end;
begin
writeln(to_dec('1202', 3, 1));
end.
в примере перевод числа '1202' из троичной -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
volvo |
![]()
Сообщение
#5
|
Гость ![]() |
Цитата Пробовал переделать , но никак не получается. В следующий раз приводи свой способ...Вот так перевод в 10 с/с делается рекурсивно: function ToDecR(n:string; radix:longint):longint;
const digit: string[16] = '0123456789ABCDEF';
begin
if length(n) = 0 then ToDecR := 0
else
ToDecR := ToDecR(copy(n, 1, length(n) - 1), radix) * radix +
pos(n[length(n)],digit) - 1;
end;
|
Гость |
![]()
Сообщение
#6
|
Гость ![]() |
БОЛЬШОЕ СПАСИБО!!!
![]() |
![]() ![]() |
![]() |
Текстовая версия | 21.04.2025 16:04 |