30/09/2018, 16:52

Tìm chuỗi xuất hiện nhìu lần nhất trong ds chuỗi

Chào mọi người. Mong mọi người giúp ý tưởng bài này. Cho một danh sách chuỗi, tìm và in người có số lần xuất hiện nhiều nhất

Input

 Le Anh Minh
 Tran Minh Ngoc
 Le Anh Minh
 Pham Nguyen Khang

Output

Le Anh Minh 2
lekichnhuong viết 19:03 ngày 30/09/2018

Theo minh thi bài này co’ 2 cách làm:
Cách 1: Cần biết trước danh sách có bao nhiêu người => Tạo 1 array bấy nhiêu người (Value = 0 hết) Xong rồi mình dùng 2 vòng lặp for. Một vòng để lấy tên trong danh sách, một vòng để kiểm tra. Cư’ trùng tên thì value(i) = value(i) + 1. Cuối cùng coi số nào lớn nhất thì lấy tên tại i ra.

Cách 2: Ko biết trước danh sách có bao nhiêu người => Tạo 1 vector load danh sách => Tao. xong rồi thì lấy size() của danh sách => Trở về bài 1.

Mình nghĩ vậy thôi, chưa có code , mọi người thấy gì không ổn thì comment nhẹ nhàng nha, mình cũng mới học ah.

Cám ơn

lekichnhuong viết 18:52 ngày 30/09/2018

http://codeviewer.org/view/code:4f45

FIle trên mình viết thử, mọi người cho ý kiến nha. Cám ơn nhiều

... viết 19:05 ngày 30/09/2018

Làm giống kiểu đếm số phần tử số nguyên thôi: Tìm giá trị xuất hiện nhiều nhất và số lần xuất hiện trong MẢNG 1 chiều?

Sort xong đếm.

lekichnhuong viết 18:56 ngày 30/09/2018

Mới đầu minh cũng nghĩ vậy, nhưng mình không biết sort chuỗi ký tự, bạn chỉ mình được không

... viết 19:06 ngày 30/09/2018

Nếu bạn dùng kiểu xâu kí tự trong C thì có thể dùng hàm strcmp() trong thư viện cstring.
Nếu dùng class string trong C++ thì có thể dùng

int string::compare(const string& str);

Dùng hàm so sánh trên để sort như khi so sánh trong kiểu số nguyên vậy.

Bài liên quan
0