Hàm in ra phần tử xuất hiện nhiều nhất

      31

Tiếp tục với bài bác tập luyện lập trình sẵn C/C++ số 19 một vấn đề rất hay, tìm bộ phận xuất hiện nhiều nhất vào mảng. Đừng bỏ qua bài toán này nhé!


1.Giới thiệu bài toán

Đây là 1 trong bài toán tra cứu kiếm trong mảng, một bài bác toán kết hợp việc tra cứu số lớn số 1 và kiếm tìm số bộ phận trong mảng. Một việc có chút cải thiện tư duy của công ty một chút.

Bạn đang xem: Hàm in ra phần tử xuất hiện nhiều nhất

Đề bài:

Viết hàm tìm phần tử xuất hiện những nhất trong mảng một chiều a tất cả n phần tử các số nguyên.

Bài toán thiết kế này tuy ngắn nhưng chắc hẳn rằng là hắc búa nhất trong số các bài bác toán trước đó mình giới thiệu. Đừng lo, nếu như bạn đã làm những bài trước đó, thì việc xử lý bài này là đơn giản.

2.Giải quyết bài toán

Để làm được bài tập yêu cầu bạn đọc phải nắm rõ kiến thức về vòng lặp, mảng và thuật toán tra cứu số bự nhất. Đương nhiên các cấu trúc cơ phiên bản bạn cũng đề xuất nắm được với quên thì xem lại tức thì nhé!

2.1 Ý tưởng giải quyết bài toán

Ý tưởng giải việc này của bản thân như sau:

Sau đó sinh sản thêm mảng c lưu quý hiếm khi đếm số lần xuất hiện thêm của mỗi thành phần ở mảng b trong mảng aGiá trị lớn nhất của mảng c chính là số lần lộ diện nhiều nhất. Với với b tương xứng ta biết được bộ phận nào lộ diện nhiều nhấtTuy nhiên bản thân giải thêm trường hợp bao gồm các thành phần có cùng số lần xuất hiện nhiều nhất?Do đó, tôi đã đếm số thành phần có cùng lần lộ diện nhiều nhấtNếu gồm từ 2 bộ phận xuất hiện các nhất, sinh sản mảng d nhằm lưu vị trí của các phần tử cùng xuất hiện thêm nhiều nhấtIn ra màn hình hiển thị kết quả.

2.2 Hàm tìm bộ phận xuất hiện nhiều nhất

Với ý tưởng đưa ra ở chỗ trên, bản thân code hàm tìm bộ phận xuất hiện những nhất trong mảng cho chúng ta tham khảo:

Code C++:

(Nếu ai đang viết code C chỉ cần sửa câu lệnh cout> là được).

Xem thêm: Quy Trình Kỹ Thuật Trồng Hoa Ly Trong Vườn Nhà, Kỹ Thuật Trồng Hoa Thiên Lý


void Count(int a<>, int n)int b;int x=1;b<0>=a<0>;//tach mang bỏ ra gom cac phan tu khac nhaufor(int i=1;imax)max=c;vtri=i;y=1;if(c==max)y++;//neu chi co mot phan tu xuat hien nhieu nhatif(y==1)cout
Code hàm này hơi phức tạp một xíu, chúng ta đọc chú ý tên và công dụng của từng biến, từng mảng thì mới có thể hiểu được.

Khuyến khích bạn phụ thuộc vào ý tưởng của mình.

2.3 công tác C++

Bạn thêm phần nhập xuất mảng để gia công việc cùng với mảng, thêm kết cấu cơ bản của một lịch trình là có thể chạy.

Chương trình của mình:


#includeusing namespace std;void nhap(int a<>, int &n)docout>n;while(n99);for(int i=0; i>a;void xuat(int a<>, int n)for(int i=0;imax)max=c;vtri=i;y=1;if(c==max)y++;//neu bỏ ra co mot phan tu xuat hien nhieu nhatif(y==1){cout
Kết quả khi chạy công tác trên:

Trường thích hợp có một trong những phần tử mở ra nhiều nhất

*

Ví dụ ngôi trường hợp tất cả nhiều phần tử xuất hiện nhiều nhất:


*

Bài viết của chính bản thân mình đến đây là hết. Cảm ơn bạn đã thân thiện bài viết. Đừng bỏ lỡ những bài xích tập tiếp theo nhé!

Xem tiếp bài xích 20: kiểm soát tính đối xứng của mảng

Xem lại bài 18: Đếm số bộ phận khác nhau trong mảng

Tải về 67 bài xích tập đề cưng cửng lập trình C/C++

Mọi vướng mắc trong quá trình tham khảo bài viết, bạn đọc comment xuống dưới nhé!. Rất ao ước nhận được ý kiến đóng góp của khách hàng đọc đề bài chia sẻ của mình hoàn thành hơn.