[Back to MATH SWAG index]  [Back to Main SWAG index]  [Original]

{
>I would like to know if there is a function to convert a year to Roman
>Numerals (1993 to MCMCMIII).

 Brian Pape, Brian Grammer, Mike Lazar, Christy Reed, Matt Hayes
}

program roman;

const
  num   = 'IVXLCDM';
  value : array [1..7] of integer = (1, 5, 10, 50, 100, 500, 1000);
var
  i   : byte;
  s   : string;
  sum : integer;
begin
  writeln('Enter the Roman Numerals: ');
  readln(s);
  i := length(s);
  while (i >= 1) do
  begin
    if i > 1 then
    begin
      if pos(s[i], num) <= (pos(s[i - 1], num)) then
      begin
        sum := sum + value[pos(s[i], num)];
        dec(i);
      end
      else
      begin
        sum := sum + value[pos(s[i],num)] - value[pos(s[i - 1], num)];
        dec(i, 2);
      end;
    end
    else
    begin
      sum := sum + value[pos(s[1], num)];
      dec(i);
    end;
  end;
  WRITELN;
  writeln('Roman numeral: ', s);
  writeln(' Arabic value: ', sum);
end.


[Back to MATH SWAG index]  [Back to Main SWAG index]  [Original]