Strict Standards: Declaration of action_plugin_importoldchangelog::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /DISK2/WWW/pavel-rimsky.cz/vyuka/wiki/lib/plugins/importoldchangelog/action.php on line 8 Strict Standards: Declaration of action_plugin_importoldindex::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /DISK2/WWW/pavel-rimsky.cz/vyuka/wiki/lib/plugins/importoldindex/action.php on line 0 Deprecated: Function split() is deprecated in /DISK2/WWW/pavel-rimsky.cz/vyuka/wiki/inc/auth.php on line 154 Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /DISK2/WWW/pavel-rimsky.cz/vyuka/wiki/inc/auth.php on line 456 Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /DISK2/WWW/pavel-rimsky.cz/vyuka/wiki/inc/auth.php on line 456 Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /DISK2/WWW/pavel-rimsky.cz/vyuka/wiki/inc/auth.php on line 453 Strict Standards: Only variables should be passed by reference in /DISK2/WWW/pavel-rimsky.cz/vyuka/wiki/doku.php on line 71 soucet_dlouhych_cisel [Programování]
 
 
{maximalni pocet cislic v dlouhem cisle}
const MAX_CISLIC = 53;
 
type
  Cislice = 0..9;
 
  {dlouhe cislo, je to pole cislic, na indexu 1 je nejmene vyznamny rad, na indexu MAX_CISLIC nejvice vyznamny rad}
  Cislo = array[1..MAX_CISLIC] of Cislice;
 
 
{precte ze vstupu radek obsahujici cislo a hodnotu tohoto cisla vrati}
function precti: Cislo;
var
  radek: string;
  vysledek: Cislo;
  i: integer;
begin
  {radek je pomocny retezec, do ktereho se cislo nacte}
  readln(radek);
 
  {nakopirujeme cislice}
  for i := 1 to length(radek) do begin
    vysledek[i] := ord(radek[length(radek) - i + 1]) - ord('0');
  end;
 
  {je-li prectene cislo radu n, doplnime vsechny rady vyssi nez n nulami}
  for i := length(radek) + 1 to MAX_CISLIC do begin
    vysledek[i] := 0;
  end;
 
  precti := vysledek;
end;
 
 
{vrati dlouhe cislo reprezentujici hodnotu 0}
function nula: Cislo;
var
  vysledek: Cislo;
  i: integer;
begin
  for i := 1 to MAX_CISLIC do begin
    vysledek[i] := 0;
  end;
 
  nula := vysledek;
end;
 
 
{k dlouhemu cislu "kcemu" pricte hodnotu "co"}
procedure pricti(var kcemu, co: Cislo);
var
  prenos: Cislice;
  soucet: integer;
  i: integer;
begin
  prenos := 0;
  for i := 1 to MAX_CISLIC do begin
    soucet := kcemu[i] + co[i] + prenos;
    prenos := Cislice(soucet div 10);
    kcemu[i] := Cislice(soucet mod 10);
  end;
end;
 
 
{vypise dlouhe cislo na vystup}
procedure vypis(var c: Cislo);
var
  i: integer;
begin
  i := MAX_CISLIC;
  while (c[i] = 0) do begin
    i := i - 1;
  end;
  while i > 0 do begin
    write(c[i]);
    i := i - 1;
  end;
end;
 
 
var
  vysledek: Cislo;
  aktualniCislo: Cislo;
begin
  vysledek := nula;
  while not eof do begin
    aktualniCislo := precti;
    pricti(vysledek, aktualniCislo);
  end;
  vypis(vysledek);
end.
 
soucet_dlouhych_cisel.txt · Poslední úprava: 2008/01/11 12:00 autor: rimsky
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki
Strict Standards: Only variables should be passed by reference in /DISK2/WWW/pavel-rimsky.cz/vyuka/wiki/doku.php on line 79