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
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 , 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
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
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.