01/10/2018, 09:58

Mảng: Xây dựng từ điển đơn giản

Em có cái đầu bài như thế này các bác ạ.
Cho mảng các từ A-Z , đầu vào 1,2 kí tự
Đầu ra: các từ đó.tức là phải xây dựng chương trình mà sau khi gõ đầu vào 1 2… kí tự nó sẽ hiển thị lên từ mà có chứa những chữ cái đã gõ. giống từ điển ấy ạ. nhưng 1 mảng đơn giản thôi. ai giúp em vớiiii

HK boy viết 12:02 ngày 01/10/2018

nhưng 1 mảng đơn giản thôi.

Nghĩ gì làm nấy thôi. Bài đơn giản mà.
Mà mình vẫn chưa hiểu đoạn

Cho mảng các từ A-Z , đầu vào 1,2 kí tự

bạn định nói gì.

Trần Hoàn viết 12:12 ngày 01/10/2018

À, bạn định dùng ngôn ngữ gì, nếu C# thì mình có thể đưa hướng dẫn chi tiết cách sử dụng ComboBox.

Sơn Nguyễn viết 12:02 ngày 01/10/2018

Ý em là một mảng chỉ gồm các kí tự chữ thôi. không có các kí tự số

Trần Hoàn viết 12:07 ngày 01/10/2018

À không, ý mình là bạn định dùng ngôn ngữ lập trình gì, nếu là C# thì mình đưa ra cách sử dụng event + ComboBox, còn C/C++ thì mình chỉ đưa được thuật toán cho bạn thôi.

Sơn Nguyễn viết 12:06 ngày 01/10/2018

bạn cho mình xin thuật toán cũng được. vì mình chưa làm quen với c#

Trần Hoàn viết 11:59 ngày 01/10/2018

À, tại vì C# thì mình xây dựng trên event nên nó tiện với trực quan hơn thôi. Còn nếu từ C++ cũng được, nó hơi khó hình dung, mình mô tả lại như sau:

  1. Bạn có một std::string chứa các từ là “abc abd mab aacc abch” chẳng hạn;
  2. Bạn tách nó thành một mảng kiểu string[], giả sử nó là TuDien nhé, mỗi phần tử TuDien[0], TuDien[1] là 1 từ => TuDien[0] = “abc”, TuDien[4] = “abch”;
  3. Giả sử chuỗi ký tự tìm kiếm là std::string Input = "ab"; nhé

Đến bước này, có 2 trường hợp

  • Một là bạn muốn tìm những từ có chứa “ab” trong đó:
    Bạn dùng phương thức find của std::string
    Giả sử bạn có string a = “abc”, b = “mab”, c = “aacc” và Input = “ab”
    thì (a.find(Input) != std::string::npos) == true, (b.find(Input) != std::string::npos) == true, (c.find(Input) != std::string::npos) == false
  • Hai là bạn muốn tìm những từ bắt đầu bằng “ab”: Bạn chỉ việc so từng ký tự của Input với ký tự ở vị trí tương đương trong a, b, c. “abc” bắt đầu bằng “ab” thì in ra, “mab” hoặc “aacc” thì không bắt đầu bằng ab nên không in ra.

a, b, c trong đoạn vừa rồi tương đương với TuDien[0] đến TuDien[5] ở trên đó
Chúc bạn thành công.

Sơn Nguyễn viết 12:07 ngày 01/10/2018

mô tả lại như sau:

Bạn có một std::strin

Mình cảm ơn nhé. thanks

Bài liên quan
0