[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 01/02 08:46 / Filesize : 251 KB / Number-of Response : 871
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

計算アルゴリズム【U】



25 名前:デフォルトの名無しさん [2005/10/16(日) 06:41:43 ]
var num:Integer;  p:PChar;
 procedure addsub ;forward;
  procedure factor; begin
  if p^ = '(' then begin inc(p); addsub; if p^<> ')' then Abort;inc(p);end
  else if p^ in ['1'..'9'] then begin num:=StrToInt(p^);inc(p);end;
  end;
 procedure muldiv; var save:Integer; oldsym:char;  begin
  factor;
  while (p^ in ['*','/'] ) do  begin save:=num;oldsym:=p^; inc(p);  factor;
     case oldsym of
     '*': num:=save*num;
     '/': num:=save div num;
     end;
    end;
 end;
 procedure addsub;  var save:Integer; oldsym:char;  begin
  case p^ of
    '+': begin inc(p);MulDiv;      end;
    '-': begin inc(p);MulDiv; num:=-num; end;
  else  muldiv;
  end;
  while (p^ in [ '+','-'] ) do
   begin save:=num;oldsym:=p^; inc(p);
     muldiv;
    case oldsym of
    '+': num:=save+num;
    '-': num:=save-num;
    end;
   end;
 end;
begin
p:=PChar(作った文字列); addsub; 答えはnum






[ 続きを読む ] / [ 携帯版 ]

全部読む 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<251KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef