Gửi Thông Điệp Yêu Thương vanbinh_bt nhắn với all: thi sao rồi mấy đồ...[Mr]-Boom nhắn với All K4: Chúc mọi người có 1 kỳ thi thật tốt !!lặng lẽ yêu nhắn với nguyễn ngọc huy: chúc mi có một kỳ thi tốt nha. vẫn nhớ mingocthongcctm05f nhắn với QNGAI: hãy sát cánh bên nhau.....hi.......trinhvh91 nhắn với TM03B: TM03B đoàn kết đi chơi cuối khóa nghenNgười vô cảm nhắn với nguyenlu: Ai vậy? T vẫn bước đi trong yêu thương mà ^^381 nhắn với neyugn: mong rằng chúng ta sẽ đi đến cái đích cuối cùng !nguyenlu nhắn với Người vô cảm: Hãy bước đi trong sự yêu thươnglenguyen_alone nhắn với Young Bin: tại sao nhok lại iu bin chứ nhỉ???hp thành công nhá!!binhcaolinh nhắn với Đen Trần: Cố gắng học chăm chỉ nhé em! Gửi Thông Điệp Yêu Thương


BẢNG GIÁ QUẢNG CÁO TẠI DIỄN ĐÀN 2MIT.ORG 2012

Hiện kết quả từ 1 tới 1 của 1

Chủ đề: ký pháp nghịch đảo Ba Lan

  1. #1
    Tham gia ngày
    Sep 2009
    Đến từ
    LT3C Co., Ltd
    Tuổi
    21
    Bài gửi
    1,636
    Cảm ơn
    1,170
    Được cảm ơn 1,246/500 bài viết
    Blog Entries
    10
    8
    MASTER
     
     
    Số lần cộng|trừ: 3 lần

    Default ký pháp nghịch đảo Ba Lan

    Code kí pháp nghịch đảo Ba Lan viết bằng Pascal. học qua cấu trúc dữ liệu chắc bạn cũng biết bài này. tham khảo:
    PHP Code:
    program ConvertInfixToRPN;
    const
    Opt = ***91;'('')''+''-''*''/'***93;;
    var
    TInfixStackString;
    pInteger;

    procedure StackInit;
    begin
    Stack 
    := '';
    end;

    procedure Push(VChar);
    begin
    Stack 
    := Stack V;
    end;

    function 
    PopChar;
    begin
    Pop 
    := Stack***91;Length(Stack)***93;;
    Dec(Stack***91;0***93;);
    end;

    function 
    GetChar;
    begin
    Get 
    := Stack***91;Length(Stack)***93;;
    end;

    procedure Refine(var SString);
    var
    iInteger;
    begin
    := ' ';
    for 
    := Length(S) - 1 downto 1 do
    if (
    S***91;i***93; in Opt) or (S***91;1***93; in Optthen
    Insert
    (' 'S1);
    for 
    := Length(S) - 1 downto 1 do
    if (
    S***91;i***93; = ' ') and (S***91;1***93; = ' 'then Delete(S11);
    end;

    function 
    Priority(ChChar): Integer;
    begin
    case ch of
    '*''/'Priority := 2;
    '+''-'Priority := 1;
    '('Priority := 0;
    end;
    end;

    procedure Process(TString);
    var
    cxChar;
    begin
    := T***91;1***93;;
    if 
    not (c in Optthen Write(T' ')
    else
    case 
    c of
    '('Push(c);
    ')'repeat
    := Pop;
    if 
    <> '(' then Write(x' ');
    until x '(';
    '+''-''*''/':
    begin
    while (Stack <> '') and (Priority(c) <= Priority(Get)) do
    Write(Pop' ');
    Push(c);
    end;
    end;
    end;

    begin
    Write
    ('Infix = '); Readln(Infix);
    Refine(Infix);
    Writeln('Refined: 'Infix);
    Write('RPN : ');
    := '';
    for 
    := 1 to Length(Infix) do
    if 
    Infix***91;p***93; <> ' ' then T := Infix***91;p***93;
    else
    begin
    Process
    (T);
    := '';
    end;
    while 
    Stack <> '' do Write(Pop' ');
    Writeln;
    end

    --------------------------------------------------
    Xem các chủ đề cùng chuyên mục:



  2. Có tổng cộng 2 thành viên cảm ơn integer cho bài viết này

    Ronaldo (24-09-2010), sunboy (24-09-2010)

Thông tin về chủ đề này

Users Browsing this Thread

Hiện giờ đang có 1 người xem chủ đề này. (0 thành viên 1 khách)

     

Chủ đề giống nhau

  1. Nghĩ cũng thấy đúng(tây du ký)
    By KingOnlinedn91 in forum Đời sống sinh viên
    Trả lời: 3
    Bài mới gửi: 24-09-2010, 03:44 PM
  2. Công nghệ LAN – Phần I
    By chip in forum Khoa Khoa Học Máy Tính
    Trả lời: 0
    Bài mới gửi: 28-04-2010, 08:14 AM
  3. Netcut - Công cụ phá hoại mạng lan
    By nghiemcowboy in forum Internet & Network
    Trả lời: 10
    Bài mới gửi: 28-03-2010, 09:35 PM
  4. Trả lời: 0
    Bài mới gửi: 02-12-2009, 10:17 AM
  5. Đăng ký EVEREST Ultimate Edition v4.6 bản quyền miễn phí
    By tran_phuong_vn87 in forum Utilities & System
    Trả lời: 0
    Bài mới gửi: 21-11-2009, 10:31 AM

970
Lượt xem

Share