Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2009, 11:31   #1
oxygen2007rus
 
Регистрация: 22.11.2009
Сообщений: 3
Восклицание Умножение двух чисел в p-ичной системе счисления - turbo pascal

Нужна помощь. Недавно пришлось вспомнить давно забытый турбо паскаль для института. Сейчас пытаюсь написать программу для умножения двух чисел в p-ичной системе счисления. Перепробовал множество способов, но ничего не получается. Посоветуйте мне что-нибуть. Будет супер если покажете код программы. Заранее спасибо.
oxygen2007rus вне форума Ответить с цитированием
Старый 13.12.2009, 16:00   #2
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,689
По умолчанию

Преобразуем в систему счисления = 10, умножаем, снова возвращаем в прежнюю систему
Код:
function KToDec(x: string; k: byte): longint;
var
  i: byte;
  y : longint;
begin
  y := 0;
  for i := 1 to length(x) do
    if x[i] < 'A' then
      y := y * k + ord(x[i]) - 48
    else
      y := y * k + ord(x[i]) - 55;
  KToDec := y
end;

function DecToK(x: longint; k: byte): string;
var
  i: byte;
  y: string;
begin
  y := '';
  repeat
    i := x mod k;
    x := x div k;
    if i < 10 then
      y := chr(i + 48) + y
    else
      y := chr(i + 55) + y;
  until x = 0;
  DecToK := y
end;

function ym(x, y: string; k: byte): string;
begin
  ym := DecToK(KToDec(x, k) * KToDec(y, k), k)
end;

var
  a, b: string;
  s: byte;
begin
  write('a = '); readln(a);
  write('b = '); readln(b);
  write('system = '); readln(s);
  write('otvet = ', ym(a, b, s));
  readln
end.
eoln вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа перевода из одной системы счисления в другую - Turbo Pascal 7.0. Prescott Помощь студентам 5 19.03.2010 19:26
Умножение длинных чисел в Pascal SeRhy Помощь студентам 2 04.12.2008 23:50
Деление чисел в двоичной системе счисления Mss_Smith Помощь студентам 9 04.05.2007 17:02