Thống kê tần suất xuất hiện
Submit solution
Points:
2
Time limit:
1.0s
Memory limit:
98M
Author:
Problem type
Allowed languages
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG
Bài toán: cho dãy số nguyên n phần tử \(a_1,a_2,...,a_n\) hãy thống kê tần suất xuất hiện của từng phần tử có trong dãy theo thứ tự từ bé đến lớn
Input
Dòng đầu chứa số phần tử n \((1<=n<=1000)\)
Dòng tiếp theo chứa n số nguyên có giá trị tuyệt đối không vượt quá \(10^4\)
Output
Từng dòng là phần tử và tần suất xuất hiện theo thứ tự từ bé đến lớn
Ví dụ
Input
12
4 7 -2 8 4 8 3 -2 4 6 -2 4
Output
-2 3
3 1
4 4
6 1
7 1
8 2
Comments
ai làm được bài này cho em xin giải với em làm 2 cách mà mỗi cách lỗi một cái test
My code
em cảm ơn thầy ạ , thầy giúp em giải thích thêm 2 dòng lệnh *p=a+10000; fill(a,a+20006,0); để làm gì ko ạ
Khi khai báo
Thì dưới con mắt của mảng a sẽ đánh chỉ số từ 0 đến 19, ta cho con trỏ p trỏ vào giữa mảng a bằng cách viết p=&a[10] hoặc p=a+10 thì dưới con mắt của p sẽ là một mảng có chỉ số từ p[-10] đến p[9] cái này vì dữ liệu nó âm nên phải làm một mảng có chỉ số cả âm lẫn dương như vậy.
Còn hàm fill là ta gán cho mảng toàn số 0, nếu em khai báo int a[20009]={}; thì có thể bỏ qua hàm fill vì như vậy mặc định mảng toàn 0
vâng em cảm ơn thầy ạ