Bài toán. Xóa tất cả các phần tử chia hết cho k trong mảng a có n phần tử. Đưa ra số phần tử còn lại và mảng a sau khi xóa. Ví dụ:
MODARR.INP |
MODARR.OUT |
6 2 3 6 5 4 7 2 |
3 3 5 7 |
Code tham khảo:
#include <iostream>
using namespace std;
void DelK(int a[],int &n, int k) {
for (int i = k+1; i < n; i++) {
a[i-1] = a[i];
}
n--;
}
void DelArr(int a[], int &n, int k) {
for (int i = 0; i < n; i++) {
if(a[i] % k == 0) {
DelK(a, n, i);
}
}
}
int main() {
freopen("MODARR.INP","r",stdin);
freopen("MODARR.OUT","w",stdout);
int n, k; int a[100];
cin >> n >> k;
for (int i = 0; i < n; i++) {
cin >> a[i];
}
DelArr(a,n,k);
cout << n << endl;
for (int i = 0; i < n; i++) {
cout << a[i] << " ";
}
}