Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> перевод в другую систему счисления 
V
    Опции темы
armageddon
  Дата 19.2.2006, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 9.11.2005
Где: 239

Репутация: нет
Всего: нет



а именно из десятеричной в двоичную, из десятеричной в восьмеричную
он есть одно но можно пользоватся только следующими типами данных : целочисленный, вещественный, логический
т.е создавать свои типы нельзя, а также нельзя пользоватся строковым типом и массивами
помогите пожалуйста , а то совсем не придумать, чтобы при таких жестких ограничениях написать прогу
примерный алгоритм я знаю, то у меня есть проблема, ведь когда мы после всех делений пишем число(я имею ввиду ручками и на бумаге) мы берем последнее, а потом записываем его на первое место
PM MAIL   Вверх
volvo877
Дата 19.2.2006, 22:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 2
Всего: 116



armageddon,
рекурсия тебе поможет:
Код

function fromdec(n, radix: longint): string;
var T: byte;
begin
  if n = 0 then fromdec := ''
  else begin
    T := succ(n mod radix);
    fromdec := fromdec(n div radix, radix) +
      Chr(47 + T + 7 * Byte(T >= 10));
  end;
end;

begin
  writeln(fromdec(4811, 16)); { Dec to Hex }
end.

Это для примера, что можно сделать задание при заданных тобой ограничениях...
PM MAIL   Вверх
Albinos_x
Дата 19.2.2006, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: нет
Всего: 108



Цитата(armageddon @ 19.2.2006, 21:03 Найти цитируемый пост)
из десятеричной в двоичную,

где-то так:
Код

var
     N:Integer;
     res:integer;
     i,r,k:integer;
begin
Writeln('Vvedite celoe chislo');
readln(N);
i:=0; 
res:=0;
while n=0 do
    begin
    r:=(n mod 2);
    k:=i;
    while k>0 do  
        begin
        r:=r*10;
        dec(k);
        end
    res:=res+r;
    n:=n div 2;
    inc(i);
    end;
Writeln('Dvoichnoe chislo : ',res);
Readln
end;

в восьмиричную по аналогии...
только использовать
Код
...
r:=(n mod 8);
...
n:=n div 8;

Добавлено @ 22:17
ЗЫ: по аналогии можно и с рекурсией сделать...


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Albinos_x
Дата 19.2.2006, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: нет
Всего: 108



к примеру:
Код

function fromdec(n, radix, vl: longint): longint;    
var r: byte;    
     nn,k:longint;
begin    
    r:=(n mod radix);
    k:=vl;    
    while k>0 do    
        begin    
        r:=r*10;    
        dec(k);    
        end    
    nn:=n div radix;
    result:=r+fromdec(nn, radix, vl+1);    
end;    

только с 16-ричной без строк или массивов ен обойтись....


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
cardinal
Дата 19.2.2006, 22:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: нет
Всего: 99



В VB6 FAQ'e в алгоритмах тоже есть пару примеров...


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
armageddon
Дата 20.2.2006, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 9.11.2005
Где: 239

Репутация: нет
Всего: нет



спасибо огромнейшее, я был дал вам по "+" , но не набрал еще достаточно постов!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0494 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.