10.05.2017

Thay thế từ

Hai file  INPUT1.TXT và INPUT2.TXT được cho như sau: File INPUT1.TXT chứa một đoạn văn bản bất kì. File INPUT2.TXT chứa không quá 50 dòng, mỗi dòng gồm hai từ: từ đầu là từ đích và từ sau là từ nguồn.
Hãy tìm trong file INPUT1.TXT tất cả các từ là từ đích và thay thế chúng bằng các từ nguồn tương ứng.
Kết quả ghi vào file KQ.OUT (sẽ là một đoạn văn bản tương tự như trong file INPUT1.TXT nhưng đã được thay thế từ đích bởi từ nguồn).
Sample INPUT
    File INPUT1.TXT chứa đoạn văn bản sau:
        Nam moi sap den roi, ban co zui khong?
        Chuc cac ban don mot cai Tet that vui ve va hanh phuc.
                         Chuc ban luon hoc gioi!
    File INPUT2.TXT chứa các dòng sau:
        ban   em
        zui  vui
Sample OUTPUT
    File KQ.OUT sẽ chứa đoạn văn bản sau:
       Nam moi sap den roi, em co vui khong?
       Chuc cac em don mot cai Tet that vui ve va hanh phuc.
                         Chuc em luon hoc gioi!

                                                           Lời giải tham khảo

uses crt;
var f1,f2,f3:text;
    i,n,j:byte;
    s,m,d,a,b,k:string;
begin
        assign(f1,'INPUT1.TXT');
        reset(f1);
        assign(f3,'kq.out');
        rewrite(f3);
                repeat
                   readln(f1,s);
                   assign(f2,'input2.txt');
                   reset(f2);
                     repeat
                        readln(f2,m);
                        i:=pos(' ',m);
                        a:=copy(m,1,i-1);
                        b:=copy(m,i+1,length(m)-i);
                        repeat
                                j:=pos(a,s);
                                if j >0 then
                                   begin
                                      delete(s,j,length(a));
                                      insert(b,s,j);
                                   end;
                        until j=0;
                     until eof(f2);
                   close(f2);
                   writeln(f3,s);
                until eof(f1);
        close(f3);
        close(f1);
END.

No comments:

Post a Comment

Cảm ơn bạn đã nhận xét