Con trỏ (Số nguyên)

Thảo luận trong 'C/C++' bắt đầu bởi lyvinhr00m, 13 Tháng sáu 2011.

  1. Offline

    lyvinhr00m

    • cụ lý

    Số bài viết:
    1.234
    Đã được thích:
    930
    Điểm thành tích:
    900
    Dùng con trỏ nhập vào 1 dãy số nguyên, tìm max, min, chèn 1 phần tử, xóa 1 phần tử, sáp xếp:
    Code:
    Mã:
    #include <iostream>
    using namespace std;
    //Ham nhap
    void nhap(int **p, int n)
    {
    	int i;
    	int *q;
    	q=new int[n];
    	for(i=0;i<n;i++)
    		cin>>*(q+i);
    	*p=q;
    };
    //Ham xuat
    void xuat(int *p, int n)
    {
    	for(int i=0;i<n;i++)
    		cout<<*(p+i)<<"\t";
    };
    //Xoa 1 phan tu
    void xoa(int *p, int &n,int k)
    {
    	for(int i=k-1; i<n;i++)
    		*(p+i)=*(p+i+1);
    		n--;
    };
    //Them 1 phan tu
    void chen(int *p, int &n, int x, int v)
    {
    	for(int i=n;i>v-1;i--)
    		*(p+i)=*(p+i-1);
    		*(p+v-1)=x;
    		n++;
    };
    //Ham sap xep
    void sapxep(int *p, int n)
    {
    	for(int i=0;i<n-1;i++)
    		for(int j=i+1;j<n;j++)
    			if(*(p+i)>*(p+j))
    			{
    				int temp=*(p+i);
    				*(p+i)=*(p+j);
    				*(p+j)=temp;
    
    			}
    };
    void max_min(int *p, int n)
    {
    	int max=*(p+0);
    	int min=*(p+0);
    	for(int i=0;i<n;i++)
    	{
    		if(max<*(p+i)) max=*(p+i);
    		if(min>*(p+i)) min=*(p+i);
    	}
    	cout<<"Max = "<<max<<endl;
    	cout<<"Min = "<<min<<endl;
    }
    void main()
    {
    	int n,*p,k,v,x;
    	//Nhap
    	cout<<"Nhap so phan tu day(n)"<<endl;
    	cin>>n;
    	cout<<"Nhap gia tri phan tu"<<endl;
    	nhap(&p,n);
    	cout<<"Day sau khi nhap"<<endl;
    	xuat(p,n);
    	cout<<endl;
    	//Max- min
    	max_min(p,n);
    	cout<<endl;
    	//Xoa
    	cout<<"Nhap vi tri can xoa..."; cin>>k;
    	xoa(p,n,k);
    	cout<<"Day sau khi xoa"<<endl;
    	xuat(p,n);
    	cout<<endl;
    	//Them
    	cout<<"Nhap vi tri can chen"; cin>>v;
    	cout<<"\n Nhap gia tri can chen"; cin>>x;
    	chen(p,n,x,v);
    	cout<<"\n Day sau khi chen"<<endl;
    	xuat(p,n);
    	sapxep(p,n);
    	cout<<"\n Day sua khi sap xep"<<endl;
    	xuat(p,n);
    
    }
    SPD, lebinhvhit03asunboy thích bài này.

Chia sẻ trang này

Advertising: Linux system admin | nukeviet | nukeviet 4 | Upload ảnh miễn phí