Cho một mảng 1 chiều có n phần tử. Hãy đếm số lần xuất hiện của từng phần tử trong mảng.
Ví dụ: Với n = 6 và a[] = {1, 2, 3, 1, 2, 1}. Khi đó:
- Số 1 xuất hiện 3 lần
- Số 2 xuất hiện 2 lần
- Số 3 xuất hiện 1 lần
Chương trình đếm số lần xuất hiện của từng phần tử trong mảng bằng C
#include <stdio.h>
#include <stdbool.h>
#define MAX 1000
int cnt[MAX]; // mang chua tan so xuat hien
int main(){
int n;
printf("Nhap so phan tu cua mang: ");
scanf("%d,",&n);
int a[n];
int i;
for(i = 0; i<n;i++){
printf("a[%d] = ",i);
scanf("%d", &a[i]);
}
printf("\n\nMang vua nhap:\n");
for(i = 0; i<n;i++){
printf("%d ", a[i]);
}
for(int i = 0;i < MAX; i++) cnt[i] = 0;
for(int i = 0; i < n;i++){
cnt[a[i]]++;
}
for(int i = 0;i < MAX; i++){
if(cnt[i] > 0){
printf("\nGia tri %d xuat hien %d lan ", i, cnt[i]);
}
}
}
ở cuối trang, hay nút màu XANH
ở gần giữa trang, coi chừng nhầm nút