Mảng một chiều đối xứng – code bằng pascal

Like Tweet Pin it Share Share Email

Mảng một chiều đối xứng là bài toán tiếp theo mình muốn giới thiệu với các bạn, đây cũng là một bài toán đơn giản về mảng một chiều để giúp các bạn làm quen với kiểu dữ liệu mảng, rèn luyện sử dụng vòng lặp biết trước số lần lặp và nhập xuất dữ liệu từ file

Bài toán mảng đối xứng: Nhập vào 1 mảng n phần tử (n <1000). Kiểm tra mảng có đối xứng không? (VD: mảng đối xứng : 4  5  -7  5  4 hay  4  7  7  4)

Dữ liệu vào file: mang_dx.inp Dữ liệu ra file: mang_dx.out
– Dòng 1: chứa số n

– Dòng 2 chứa n số cách nhau ít nhất 1 khoảng trắng

Yes (No)

Mặc dù đây là một bài toán đơn giản, bài toán này có nhiều cách giải quyết tuy nhiên chương trình mình viết phía dưới sử dụng kĩ thuật bẻ vòng lặp bằng lệnh break, khi gặp lệnh này thì vòng lòng sẽ kết thúc.

Ý tưởng của thuật toán như sau:

  • Đầu tiên tạm cho là mảng đối xứng (kt:=true)
  • Trong vòng lặp kiểm tra nếu có 1 vi phạm nào đó thì kết luận ngay mảng không đối xứng và thoát vòng lặp (kt:=false; break;). Điều đó có nghĩa khi thoát vòng lặp mà biến “kt” vẫn là true thì mảng là đối xứng

Mình hay sử dụng kĩ thuật này, có lẽ đó là phong cách của mình, mỗi bạn nên có 1 phong cách lập trình riêng phải không nào.

Một số bài toán về mảng một chiều bạn nên đọc:

Code bằng Pascal

Comments (0)

Trả lời

Your email address will not be published. Required fields are marked *