[Bài tập] Kiểm tra chuỗi đối xứng

Đề bài: Nhập vào một chuỗi từ bàn phím, kiểm tra chuỗi đó có đối xứng hay không.

Trong bài này ta sẽ sử dụng biến kiểm tra là boolean.

program thamkhaovn;
uses crt;
var a: string;
    i: integer;
    kiem: boolean;
BEGIN
     clrscr;
     wirte('Nhap chuoi can kiem tra: '); readln(a);
     kiem:=true;
     for i:=1 to length(a) div 2 do
     if a[i] <> a[length(a)-i+1] then kiem:=false;
     if kiem = true then writeln('Chuoi da nhap doi xung'); else writeln('Chuoi da nhap khong doi xung');
     readln;
END.


Chương trình trên được viết theo thuật toán:
- Chạy từ đầu dãy đến giữa dãy, nếu dãy có số kí tự lẻ thì kí tự ở giữa tự đối xứng nó nên không cần tính.
- So sánh lần lượt kí tự đầu với kí tự cuối, cứ thế cho hết vòng lặp.
- Nếu có bất kì kí tự nào không giống nhau thì biến kiem sẽ cho kết quả false, khi đó chuỗi không đối xứng. Ngược lại, chuỗi đó đối xứng.

Ví dụ:
Nhap chuoi can kiem tra: abcba
Kết quả:
Chuoi da nhap đoi xung.
Share on Google Plus
Hỗ trợ trực tuyến