Câu hỏi của em ở dưới phần code ạ. Câu hỏi hơi dài mọi người thông cảm ạ.
#include <iostream>
using namespace std;
void nhap (int a[100],int &sl) {
cout << "\n nhap so luong phan tu ";
cin >> sl;
for ( int i = 0; i < sl; i++) {
cout << "\n a["<<i<<"]= ";
cin >> a[i];
}
}
int giongnhau(int a[100],int sl,int &dem) {
dem=0;
for ( int i = 0; i<sl; i++) {
for ( int j = 0; j<sl; j++) {
if ( i != j) {
if (a[i]==a[j]) {
dem ++;
sl--;
for ( int m = i; m<sl;m++) {
a[m]=a[m+1];
}
}
}
}
}
}
void xuat ( int a[100], int sl,int dem) {
for (int i = 0; i < sl-dem; i++) {
cout << "\n a["<<i<<"]= " << a[i];
}
}
int main () {
int a[100], sl,dem;
nhap (a,sl);
giongnhau (a,sl,dem);
xuat (a,sl,dem);
return 0;
}
Em chỉ hiểu sơ sơ quy luật nên em viết phần này có phần đại khái. Khi em input chỉ 5 phần tử thì nó lại đúng hết, còn lúc em input hơn 15 phần tử luôn thì nó vẫn output ra cái trùng nhau ạ(nhưng rất ít).Mọi người sửa giúp em với ạ, em nghĩ em sai phần này. Em cảm ơn :D.
for ( int i = 0; i<sl; i++) {
for ( int j = 0; j<sl; j++) {