Viết chương trình xuất ra những số đơn nhất có trong mảng
Code:
#include <bits/stdc++.h>
using namespace std;
void Input_Array(int *&a,int n)
{
a = new int[n];
for(int i = 0 ; i < n ;i++)
cin>>*(a+i);
}
void Output_Array(int *a , int n)
{
for(int i = 0 ; i < n ;i++)
cout<<*(a+i);
}
int main()
{
int *a,n;
cin>>n;
Input_Array(a,n);
int count = 0,temp[100000],x=0;
/*
Vòng lặp số 1 có nhiệm vụ duyệt qua mảng lấy ra các số khác nhau của mảng
vd: 1 dãy số 1 1 2 3 4 5 6
thi mình sẽ dung 1 biến tạm thu có số khác nhau lại vô biến tạm
ta có đc : temp[] = {1,2,3,4,5,6}
*/
for(int i = 0 ; i < n ; i++)
{
if(i == 0)
temp[x++] = a[i];
if(i != 0)
{
for(int j = 0 ; j < x ; ++j)
{
if(a[i] == temp[j])
count++;
}
if(count == 0)
temp[x++] = a[i];
else
count = 0;
}
}
/*
ở vòng lặp tiếp theo ta thu các kết quả đếm từ từ biến tạm vô 1 mảng khác
*/
int k = 0;
int b[100000],t=0;
for(int i = 0 ; i < x ; i++)
{
for(int j = 0 ; j < n ; ++j)
{
if(temp[i] == a[j])
k++;
}
b[t++] = k;
k = 0;
}
/*
Vòng lặp cuối lặp ra những số chỉ xuất hiện 1 lần vò trỏ đên số đó
*/
for(int i = 0 ; i < t ; i++)
{
if(b[i] == 1)
cout<<temp[i]<<" ";
}
return 0;
}