Tìm chuỗi xuất hiện nhiều lần nhất trong danh sách 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

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 :smiley: , 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

1 Like

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

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.

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 :smiley:

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.

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?