Hiển thị các bài đăng có nhãn Mảng 1 chiều. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn Mảng 1 chiều. Hiển thị tất cả bài đăng
Hàm nhập mảng sau cho không có phần tử nào trùng với nhau trong mảng 1 chiều

Hàm nhập mảng sau cho không có phần tử nào trùng với nhau trong mảng 1 chiều

void nhapkhongtrung(int a[],int &n)
   {
    cout<<"nhap n: ";
    cin>>n;
    int    i=0;
    do  
    {    int flag=0;
        cout<<"nhap vao phan tu thu"<<i<<": ";
        cin>>a[i];
        for(int j=i-1;j>=0;j--)
            if(a[i]==a[j])
            {
                cout<<"ban nhap sai: \n";
                flag=1;
                break;
            }
            if(flag==1)continue;
            else
                i++;
    }
while (i<n);
}
Hàm chèn phần tử có giá trị X vào phía trước phần tử có giá trị là số nguyên tố đầu tiên trong mảng 1 chiều

Hàm chèn phần tử có giá trị X vào phía trước phần tử có giá trị là số nguyên tố đầu tiên trong mảng 1 chiều

bool ktnt(int k)
{
    if(k<2) return false;
    for(int i=2;i<=k/2;i++)
        if(k%i==0)
            return false;
    return true;
}
int vt(int a[],int n)
{
for(int i=0;i<n;i++)
if(ktnt(a[i]))
return i;
}
void chen(int a[],int &n,int x)
{
    int i=vt(a,n);
      
    for(int j=n;j>=i+1;j--)
        a[j]=a[j-1];
        a[i]=x;
        n++;
}
Hàm chèn phần tử có giá trị X vào phía sau phần tử có giá trị lớn nhất trong mảng

Hàm chèn phần tử có giá trị X vào phía sau phần tử có giá trị lớn nhất trong mảng


int max(int a[],int n)
{
    int m=a[0];
    for(int i=1;i<n;i++)
        if(a[i]>=m)
            m=a[i];
    return m;
}
void chen(int a[],int &n,int x)
{
    for(int i=0;i<n;i++)
    {
        if(a[i]==max(a,n))
        {
            for(int j=n;j>=i+2;j--)
                a[j]=a[j-1];
                a[i+1]=x;
                n++;
                i++;
        }
    }
}
Hàm xoá phần tử có giá trị gần X nhất trong mảng 1 chiều

Hàm xoá phần tử có giá trị gần X nhất trong mảng 1 chiều

Phần tử có giá trị gần X nhất: là hiệu của X và phần tử đó  là nhỏ nhất so với hiệu của X và các phần tử còn lại trong mảng.
CODE:
void xoaganx(int a[],int &n,int x)
{
int kc=32768;
    for(int i=0;i<n;i++)
    {
        if(a[i]<=x && x-a[i]<kc)
        kc=x-a[i];
        if(a[i]>=x && a[i]-x<kc)
            kc=a[i]-x;
    }
    for(int i=0;i<n;i++)  / / i<n-1 cũng được
 
        if( a[i]-x==kc || x-a[i]==kc)
        {
         
        for(int j=i;j<n;j++)
            a[j]=a[j+1];
            i--;
            n--;
         }
    }