Liệt kê các phần tử xuất hiện nhiều hơn một lần trong mảng
Đề bài:
Viết chương trình C cho phép nhập vào mảng một chiều n phần tử (n>1) và thực hiện in ra các phần tử xuất hiện nhiều hơn 1 lần trong mảng theo thứ tự xuất hiện (Nếu không có phần tử nào thỏa mãn in ra 0)
INPUT
7
2 3 3 2 1 9 5
OUTPUT
2 3
Giải:
Viết chương trình C cho phép nhập vào mảng một chiều n phần tử (n>1) và thực hiện in ra các phần tử xuất hiện nhiều hơn 1 lần trong mảng theo thứ tự xuất hiện (Nếu không có phần tử nào thỏa mãn in ra 0)
INPUT
7
2 3 3 2 1 9 5
OUTPUT
2 3
Giải:
#include<iostream> using namespace std; int n; int a[1000]; void input() { cin >> n; for(int i = 0; i < n; i++) cin >> a[i]; } bool NotInArray(int t, int b[100], int m ) { for(int i = 0; i < m; i++) { if(t==b[i]) return false; } return true; } int dem(int x) { int dem = 0; for(int i = 0; i < n; i++) if(a[i] == x) dem++; return dem; } void output() { int b[100]; int m = 0; int d = 0; for(int i = 0; i < n; i++) { if(NotInArray(a[i], b, m) && dem(a[i]) > 1) { d++; b[m++] = a[i]; } } for(int i = 0; i < m; i++) cout << b[i] << " "; if(d==0) cout << "0"; } int main() { input(); output(); }
Nhận xét
Đăng nhận xét