[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: Молодчик, Фея  
мне надо! - чтоб не искать в инете в универе)))
UnEvilДата: Среда, 2009-03-18, 10:24 PM | Сообщение # 1
Полковник
Группа: Член гильдии
Сообщений: 438
Репутация: 5
Статус: Offline
function DecToR (x: longint; R: word): string;
var
result: string;
remainder: word;
c: char;
begin
result := '';
while x <> 0 do
begin
remainder := x mod R;
x := x div R;
if remainder < 10 then
c := chr (remainder + ord ('0'))
else
c := chr (remainder + ord ('A') - 10);
result := c + result;
end;
DecToR := result
end;

function RtoDec (s: string; R: word): longint;
var
res, i, n, z: integer;
begin
res := 0;
z := 1;
for i := length (s) downto 1 do
begin
s[i] := UpCase (s[i]));
if s[i] in ['0'..'9'] then
n := ord (s[i]) - ord ('0');
if s[i] in ['A'..'Z'] then
n := 10 + ord (s[i] - ord ('A');
inc (res, n*z); { m := m + n * z^R}
z := z * R;
end;
RtoDec := res;
end;


Учиться надо так, как будто собираешься жить вечно. А жить надо так, как будто живешь последний день.
 
БриллиантДата: Четверг, 2009-03-19, 2:10 PM | Сообщение # 2
Подполковник
Группа: Член гильдии
Сообщений: 349
Репутация: 7
Статус: Offline
а в чем собсна вопрос? или даж точнее, что те надо?)
 
ChihiroДата: Четверг, 2009-03-19, 5:00 PM | Сообщение # 3
Генерал-майор
Группа: Член гильдии
Сообщений: 522
Репутация: 5
Статус: Offline
мне кажется просто оставлена тут шпаргалка..)

 
БриллиантДата: Четверг, 2009-03-19, 7:06 PM | Сообщение # 4
Подполковник
Группа: Член гильдии
Сообщений: 349
Репутация: 7
Статус: Offline
хоспаде, мона было ж на мыло се написать dry

Добавлено (2009-03-19, 7:06 Pm)
---------------------------------------------
кста потом напишешь какое задание было happy , а то смысла я чет не пойму wacko

Quote (UnEvil)
function DecToR (x: longint; R: word): string;
var
result: string;
remainder: word;
c: char;
begin
result := '';
while x <> 0 do
begin
remainder := x mod R;
x := x div R;
if remainder < 10 then
c := chr (remainder + ord ('0'))
else
c := chr (remainder + ord ('A') - 10);
result := c + result;
end;
DecToR := result
end;

берется число от -2млрд до +2млрд, делится на число в диапазон от 0 до 65535. Пока делимое не равно 0 вычисляется остаток от деления и целая часть(правда птом в коде целая часть больше нигде не виднеется). Если остаток меньше 10 то "с" является символом под номером(остаток+число,символизируюещее "0"). В остальных случаях "с" является символом под номером(остаток+число,с символом"А"-10),
причем, пока делимое не равно 0 все значения "с" будут складываться(хз как они это будут делать еси они строковые значения wacko )
UnEvil, еси ты писал етот код, то объясни какое было задание и что ето все значит, мне а то поступать на факуль информатики happy

 
UnEvilДата: Четверг, 2009-03-19, 7:16 PM | Сообщение # 5
Полковник
Группа: Член гильдии
Сообщений: 438
Репутация: 5
Статус: Offline
Писал не я. Это шпора чтоб быро вынуть.. перевод чисел с 1 системы счисления в другую... с 10тичной в любую и наоборот

Добавлено (2009-03-19, 7:16 Pm)
---------------------------------------------
а сложение строк это тупо конкатенация - символы приписываются


Учиться надо так, как будто собираешься жить вечно. А жить надо так, как будто живешь последний день.
 
БриллиантДата: Четверг, 2009-03-19, 7:21 PM | Сообщение # 6
Подполковник
Группа: Член гильдии
Сообщений: 349
Репутация: 7
Статус: Offline
ок пасип, буду иметь ввиду, када придется что-то такое делать happy
 
  • Страница 1 из 1
  • 1
Поиск:

Сделать бесплатный сайт с uCoz