[Lập trình] Nội dung xóa các phần tử trong hàm C++

P/S: Các bạn có thể download link ở đây: http://www.mediafire.com/?31q2d07lzq3iaww

#include<iostream>
using namespace std;
#include<time.h>
#include<math.h>

void Nhapngaunhien(int a[], int n)
{
	srand((unsigned int)time(NULL));
	for(int i=0;i<n;i++)
		a[i]=rand()%100-rand()%100;
}
void Xuatmang(int a[], int n)
{
	for(int i=0;i<n;i++)
		cout<<a[i]<<" ";
}
//-------------Xóa phần tử có giá trị lớn hơn X-----------//
void Xoapt(int a[], int &n, int x)
{
	for(int i=0;i<n;i++)
		if(a[i]>x) // Nếu các bạn muốn xóa các phần tử nhỏ hơn X thì các bạn thay điều kiện if(a[j]<x)
		{
			for(int j=i;j<n;j++)
				a[j]=a[j+1];
				n--;
				i--;
		}

}
//----------Xóa phần tử có giá trị lớn nhất trong mảng -------------//
int Timmax(int a[], int n) //-----Tìm vị trí max.
{
	int max=a[0];
	for(int i=1;i<n;i++)
		if(a[i]>max)
			max=a[i];
	return max;
}
void XoaVT(int a[], int &n, int vt)
{
	int i=vt;
	for(;i<n;i++)
		a[i]=a[i+1];
}
void Xoaptlonnhat(int a[], int &n) //---Xóa phần tử lớn nhất.
{
	int i,j;
	int max=Timmax(a,n);
	for(i=0;i<n;i++)
		if(a[i]==max)
		{
			for(j=i;j<n;j++)
				a[j]=a[j+1];
				  i--; // Nếu các bạn nhập là j-- thì khi 2 phần tử lớn nhất liên tiếp nhau thì nó sẽ không thực hiện được như kết quả mong muốn.
				  n--;
		}
}
//--------------------Nhập vào giá trị X. Viết hàm xóa phần tử có giá trị gần X nhất.
int Khoangcachmin(int a[], int &n, int x)
{
	int min=abs(x-a[0]),i;
	for(i=1;i<n;i++)
		if(abs(x-a[i])<min)
			min=abs(x-a[i]);
	return min;
}
void Xoaphantu(int a[], int &n, int x)
{
	int i;
	int d=Khoangcachmin(a,n,x);
	for(i=0;i<n;i++)
		if( d==abs(x-a[i]) )
		{
				XoaVT(a,n,i);
				i--;
				n--;
		}
}
void main()
{
	// Lưu ý: các bạn muốn xuất bài nào thì các bạn đóng các bài khác không liên quan lại nha, bằng cách các bạn dụng khối lệnh: /* nội dung không liên quan */a
	int n,a[100],x;
	cout<<"Moi nhap so phan tu: ";
	cin>>n;
	Nhapngaunhien(a,n);
	cout<<"\nXuat mang: ";
	Xuatmang(a,n);
	cout<<"\nXoa x:";
	cin>>x;
	cout<<"\n Mang la: ";
	Xoapt(a,n,x);
	Xuatmang(a,n);
	cout<<"\n\n*********************Bai khac nha may ban***********************\n";
	cout<<"\nXoa phan tu lon nhat: ";
	Xoaptlonnhat(a,n);
	Xuatmang(a,n);
	cout<<"\n\n*********************Bai khac nha may ban***********************\n";
	cout<<"\nXoa phan tu co gia tri gan x nhat: ";
	Xoaphantu(a,n,x);
	Xuatmang(a,n);
	cout<<endl;
}

Share this:

  • Thêm

Thích bài này:

Thích

Đang tải…