Форум программистов, компьютерный форум CyberForum.ru Форум программистов | Компьютерный форум | Форум web-программистов | Форум по электронике и бытовой технике | Форум о софте | Научный форум | Карьера и бизнес
CyberForum.ru - форум программистов и сисадминов > Форум Форум программистов > Форум Pascal (Паскаль)
Восстановить пароль Регистрация

Ответ Создать новую тему
 
06.10.2008, 16:24   #1
RAVE
Новичок
Регистрация: 06.10.2008
Сообщений: 12
Репутация: 0 (0)
перевести из десятичной в восьмеричную систему и обратно / Pascal (Паскаль)

Помогите пожалуйста перевести из десятичной в восьмеричную систему и обратно
06.10.2008, 16:24
AdAgent
Объявления
06.10.2008, 17:20   #2
AziAd
Новичок
Регистрация: 01.10.2008
Сообщений: 12
Репутация: 3 (3)
перевести из десятичной в восьмеричную систему и обратно

Только что выложил исходник на Делфи. Оттуда можно вырвать функцию для Паскаля, ссылка на тему
Другие темы раздела
Pascal Разработать пакет программ для вычисления всех корней полинома Лежандра N-ного порядка
мне надо сделать курсач, а я вообще не понимаю... :-( Разработать пакет программ для вычисления всех корней полинома Лежандра N-ного порядка на отрезке с абсолютной погрешностью ε методом хорд. Полином Лежандра вычисляется по рекуррентному соотношению Ln(x)=xLn-1(x)-Ln-2(x) (n при L,...
Pascal помогите плиз з програмой ато я запутался
помогите решить задачу а то чета у меня не виходит : дано целое k от 1 до 180. Определить, какая цифра находится в k-й позиции последовательности 10111213...9899, в которой выписаны подряд все двухзначные числа;
06.10.2008, 18:02   #3
Sergei
Форумчанин
Регистрация: 22.04.2008
Сообщений: 1,608
Репутация: 1379 (613)
Лучшие ответы: 23
перевести из десятичной в восьмеричную систему и обратно

Спасибо большое AziAd
19.10.2008, 12:15  [ТС]   #4
RAVE
Новичок
Регистрация: 06.10.2008
Сообщений: 12
Репутация: 0 (0)
перевести из десятичной в восьмеричную систему и обратно

Я конешно извиняюсь но вот потребовался код по переводу (в Delphi) именно из десятичной в восьмеричную систему и обратно, а не универсальный.
ПС Пожалуйста помогите очень надо
19.10.2008, 12:15
AdAgent
Объявления
19.10.2008, 12:34   #5
Lurker
Форумчанин
Регистрация: 07.07.2008
Сообщений: 10,447
Репутация: 6120 (1878)
Лучшие ответы: 11
перевести из десятичной в восьмеричную систему и обратно

у тебя есть универсальный... обрежб его до из 8 в 10 и наоборот
19.10.2008, 14:21  [ТС]   #6
RAVE
Новичок
Регистрация: 06.10.2008
Сообщений: 12
Репутация: 0 (0)
перевести из десятичной в восьмеричную систему и обратно

В том и дело что я незнаю как. Я только начинаю учить Делфи и ничего практически не знаю,но если кому не трудно помогите переделать эту функцию

Код Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
function Convert(numstring: string; fromdigit: integer; todigit: integer): string;
var
  i,k: longint;
  num: extended;
  onesymbol: string;
  strbin,strtemp: string;
  module: string;
  num2: longint;
begin
  num:=0;
  k:=length(numstring)-1;
  for i:=1 to length(numstring) do begin
    onesymbol:=numstring[i];
    if LowerCase(onesymbol)='a' then onesymbol:='10' else
    if LowerCase(onesymbol)='b' then onesymbol:='11' else
    if LowerCase(onesymbol)='c' then onesymbol:='12' else
    if LowerCase(onesymbol)='d' then onesymbol:='13' else
    if LowerCase(onesymbol)='e' then onesymbol:='14' else
    if LowerCase(onesymbol)='f' then onesymbol:='15';
    num:=num+strtoint(onesymbol)*Power(fromdigit,k);
    dec(k);
  end;
  strtemp:=FloatToStr(num);
  num2:=StrToInt(strtemp);
  strtemp:='1';
  strbin:='';
  while strtemp='1' do begin
    if num2 = 0 then break
    else begin
      module:=inttostr(num2 mod todigit);
      if todigit=16 then begin
        if module='10' then module:='A' else
        if module='11' then module:='B' else
        if module='12' then module:='C' else
        if module='13' then module:='D' else
        if module='14' then module:='E' else
        if module='15' then module:='F' else
        if module='16' then module:='10';
      end;
      strbin:=strbin+module;
      num2:=num2 div todigit;
    end;
  end;
  strtemp:='';
  for i:=length(strbin) downto 1 do
    strtemp:=strtemp+strbin[i];
  Convert:=strtemp;
end;
21.10.2008, 19:45  [ТС]   #7
RAVE
Новичок
Регистрация: 06.10.2008
Сообщений: 12
Репутация: 0 (0)
перевести из десятичной в восьмеричную систему и обратно

Вот з переводом из 10-ой в 8-ю типа разобрался
но вот нашел перевод из 2-й в 10-ю если можна как-то переделать в (из 8-ой в 10-ю) - помогите пожалуйста
Код Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
begin
sum:=0;
write('Enter 2 SS = '); Readln(s);
For i:=Length(s)-1 DownTo 1 Do
  Begin
  If s[i]='1' Then
    Begin
    sum2:=1;
    For j:=1 To Length(s)-i Do sum2:=sum2*2;
    End
    Else sum2:=0;
  sum:=sum+sum2;
End;
If s[Length(s)]='1' Then Inc(sum);
writeln('Translated 10 SS = ',IntToStr(sum));
end
else writeln('That menu is not exist');
readln;
end.
19.11.2008, 22:13  [ТС]   #8
RAVE
Новичок
Регистрация: 06.10.2008
Сообщений: 12
Репутация: 0 (0)
перевести из десятичной в восьмеричную систему и обратно / Pascal (Паскаль)

Вот как в этой части проги можна сделать проверку чтоб можна было вводить только числа от 0 до 9, а если вводить буквы то чтоб выводило сообщения что не верное значение и т.п. У меня не получилось - помогите плис
Код Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
uses
  SysUtils;
var
  vis,s: string;
  iMod, des, misc, i, j, result :integer;
begin
writeln('Press 1: 10 sysnem to 8 sysnem');
writeln('Press 2: 8 system to 10 system');
readln(misc);
if misc=1 then
begin
Write('Input 10 system = ');
  Readln(des);
  while des >= 8 do
    begin
      iMod := des mod 8;
      des := des div 8;
      vis := IntToStr(iMod) + vis;
    end;
  vis := IntToStr(des) + vis;
  Writeln('Converted 8 system = ', vis);
  end
19.11.2008, 22:13
Yandex
Объявления
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать новую тему

Похожие темы
Тема Раздел Автор Дата
C (СИ): Перевод с десятичной в восьмеричную систему счисления
Написал такую вот программу: #include <stdio.h> #include <stdafx.h> void main(void) { int n; scanf("%d", &n); printf("%o", n);
C для начинающих flex5221 20.04.2014 22:31
Assembler: Assembler - перевод из десятичной в восьмеричную систему счисления
Есть программка которая переводит из 10 в 8 систему счисления stkseg segment stack db 256 dup (?) stkseg ends data segment mes1 db 'Vvedite chislo v 10-sisteme (0..65535):',0ah,0dh,'$' mes2 db 0ah,0dh,'Chislo v 8-sisteme:',0ah,0dh,'$' input db 6,0,7 dup ('$'),'$' outbx db 5 dup (8),'0','$'
Assembler для начинающих beitfor 14.05.2013 12:37
Turbo Pascal: Как перевести число из десятичной в восьмеричную систему счисления без деления?
Как перевести число из десятичной в восьмеричную систему счисления без деления?
Turbo Pascal ShashaPr 23.09.2012 00:02
PHP: Как из десятичной перевести в восьмеричную?
Как из десятичной перевести в восьмеричную число? К примеру число 12. Напишите плизз алгоритм, а то что то перевожу и вставляю в echo, выводит другое число.
PHP для начинающих dimiby 14.12.2010 17:46
Pascal: перевод систем счисления из десятичной в восьмеричную и обратно в Pascal !
Помогите написать программу : - " перевод систем счисления из десятичной в восьмеричную и обратно" ! Плиз.
Pascal (Паскаль) Natal'ya 22.10.2010 19:14
Опции темы

Текущее время: 20:10. Часовой пояс GMT +4.

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.7 PL3
Copyright ©2000 - 2014, vBulletin Solutions, Inc.