Viết chương trình đảo ngược chuỗi

2
1882

Bài viết ngày hôm nay mình sẽ hướng dẫn các bạn cách viết chương trình đảo ngược chuỗi được nhập từ bàn phím.

  • Input

  •  
  • Output

  •  

Hướng dẫn cách viết chương trình đảo ngược chuỗi

Không sử dụng thư viện string

Nếu chưa biết cách nhập chuỗi các bạn có thể xem lại cách nhập chuỗi tại đây.

Đầu tiên các bạn phải đếm xem chuỗi có bao nhiêu kí tự. Với nhiệm vụ này thì mình sẽ viết riêng một hàm Length() trả về số lượng kí tự trong chuỗi. Lưu ý khi các bạn nhập chuỗi vào thì nó sẽ có thêm kí tự '\n' (hay kí tự enter ) vào cuối chuỗi trước kí tự NULL. Nhiệm vụ của các bạn là phải xóa kí tự này đi để đảm quả quá trình làm được chính xác.

Sau khi có được số lượng kí tự trong chuỗi, việc tiếp theo sẽ là đảo ngược chuỗi. Các bạn sẽ dùng một con trỏ kiểu char để lưu lại chuỗi đảo ngược.

Cuối cùng hàm DaoNguoc sẽ trả về con trỏ mà chúng ta dùng để lưu kí tự.

Code C++

Sử dụng thư viện string

Với việc sử dụng thư viện string thì bạn không cần phải đếm số lượng kí tự nữa rồi ! Rất tiện lợi phải không.

Đầu tiên thì bạn khởi tạo một temp(kiểu string) trống, sau đó ta lần lượt thêm từng kí tự vào cuối temp. Ta sẽ sử dụng hàm pusk_back để thêm kí tự vào cuối temp. Bây giờ nhiệm vụ của chúng ta là lấy từng kí tự của s theo chiều từ sau tới và thêm vào temp.

Cuối cùng hàm DaoNguoc sẽ trả về temp, chính là chuỗi đã đảo ngược.

 

Bài viết mình đến đây cũng xin kết thúc. Cám ơn các bạn đã theo dõi !

 

avatar
1 Comment threads
1 Thread replies
2 Followers
 
Most reacted comment
Hottest comment thread
2 Comment authors
Nguyễn Văn HiếuThanh Bình Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
Thanh Bình
Guest
Thanh Bình

– Admin giải thích giúp em 2 lệnh: cin.ignore() và cin.clear() …được không ạ?? Em search google nhưng đa phần toàn Tiếng Anh, nên không hiểu được(đặc biệt là cái cin.clear) 😢 ….cảm ơn Ad ^_^

Nguyễn Văn Hiếu
Admin
Nguyễn Văn Hiếu

Câu hỏi này khá hay đấy. – Hàm cin.clear() được dùng để xóa flag nếu có của những lần nhập trước đó. Cụ thể, trong trường hợp nhập trước đó mà có lỗi xảy ra thì sẽ có 1 flag lỗi gán vào thằng cin, dần đến các lần nhập sau bị lỗi. Bạn đọc thêm số [1] – Hàm cin.ignore() mặc định không tham số sẽ bỏ qua 1 ký tự trong cin buffer. Cụ thể, nếu trước đó bạn nhập 1 số nguyên(sử dụng enter để kết thúc nhập) thì ‘\n’ vẫn được lưu lại trong buffer ->… Read more »