Viết chương trình nhập vào tọa độ (x, y) với *x, *y là hai con trỏ

Thảo luận trong 'Visual C++' bắt đầu bởi Trần Văn Cường, 10/6/16.

  1. Trần Văn Cường

    Trần Văn Cường I love CNTT Thành viên BQT Thành viên BQT

    Tham gia ngày:
    8/11/15
    Bài viết:
    3,693
    Đã được thích:
    43
    Điểm thành tích:
    48
    Giới tính:
    Nam
    Nghề nghiệp:
    Sinh Viên
    Nơi ở:
    Quảng Ninh thân yêu!
    Web:

    Các thành phần thuộc tính
    Biến nguyên n là số lượng điểm trong dãy.

    - Hai *x, *y là hai con trỏ, trỏ tới vùng nhớ chứa dãy hoành độ và tung độ. Viết chương trình nhập vào tọa độ (x,y) của một dãy điểm. Tìm cặp điểm có khoảng cách xa nhất. Hiển thị cặp điểm đó và khoảng cách ra màn hình theo 3 phương pháp sau

    - Sử dụng phương thức.
    - Sử dụng hàm tự do.
    - Sử dụng Hàm bạn.

    Demo

    viet-chuong-trinh-nhap-vao-toa-do-x-y-voi-x-y-la-hai-con-tro.gif


    Sử dụng phương thức

    CODE:
    Select All
    #include <iostream>
    #include <math.h>
    #include <malloc.h>
    using namespace std;

    class 
    daydiem
    {
    private:
        
    int n;
        
    float *x, *y;
    public:
        
    float do_dai(int iint j)
        {
            return 
    sqrt(pow(x[i] - x[j], 2) + pow(y[i] - y[j], 2));
        }
        
    void tinh()
        {
            
    int  ijimaxjmax;
            
    float ddmax;
            
    dmax do_dai(12); imax 1jmax 2;
            for (
    1<= 1; ++i)
            for (
    1<= n; ++j)
            {
                
    do_dai(ij);
                if (
    dmax)
                {
                    
    dmax d;
                    
    imax i;
                    
    jmax j;
                }
            }
            
    cout << "\nDoan thang lon nhat co do dai bang: " << dmax;
            
    cout << "\n Di qua 2 diem co chi so la " << imax << " va " << jmax;
            
    cout << "\n";
        }
        
    void nhapsl()
        {
            
    cout << "\nSo diem N= ";
            
    cin >> n;
            
    = (float*)malloc((1)*sizeof(float));
            
    = (float*)malloc((1)*sizeof(float));
            for (
    int i 1<= n; ++i)
            {
                
    cout << "\nNhap toa do x, y cua diem thu " << << ":";
                
    cin >> x[i]; cin >> y[i];
            }
        }
    };
    int main()
    {
        
    daydiem pd;
        
    p.nhapsl();
        
    p.tinh();
        
    system("pause");
    }
    - Sử dụng hàm tự do.

    CODE:
    Select All
    #include <iostream>
    #include <math.h>
    #include <malloc.h>
    using namespace std;

    class 
    daydiem
    {

    public:
        
    int n;
        
    float *x, *y;
        
    float do_dai(int iint j)
        {
            return 
    sqrt(pow(x[i] - x[j], 2) + pow(y[i] - y[j], 2));
        }

        
    void nhapsl()
        {
            
    cout << "\nSo diem N= ";
            
    cin >> n;
            
    = (float*)malloc((1)*sizeof(float));
            
    = (float*)malloc((1)*sizeof(float));
            for (
    int i 1<= n; ++i)
            {
                
    cout << "\nNhap toa do x, y cua diem thu " << << ":";
                
    cin >> x[i]; cin >> y[i];
            }
        }
    };
        
    void tinh(daydiem a)
        {
            
    int  n,ijimaxjmax;
            
    float ddmax;
            
    a.n;
            
    dmax a.do_dai(12); imax 1jmax 2;
            for (
    1<= 1; ++i)
            for (
    1<= n; ++j)
            {
                
    a.do_dai(ij);
                if (
    dmax)
                {
                    
    dmax d;
                    
    imax i;
                    
    jmax j;
                }
            }
            
    cout << "\nDoan thang lon nhat co do dai bang: " << dmax;
            
    cout << "\n Di qua 2 diem co chi so la " << imax << " va " << jmax;
            
    cout << "\n";
        }
    int main()
    {
        
    daydiem pd;
        
    p.nhapsl();
        
    tinh(p);
        
    system("pause");
    }
    Sử dụng hàm bạn

    CODE:
    Select All
    #include <iostream>
    #include <math.h>
    #include <malloc.h>
    using namespace std;

    class 
    daydiem
    {
        
    int n;
        
    float *x, *y;
    public:
        
    float do_dai(int iint j)
        {
            return 
    sqrt(pow(x[i] - x[j], 2) + pow(y[i] - y[j], 2));
        }

        
    void nhapsl()
        {
            
    cout << "\nSo diem N= ";
            
    cin >> n;
            
    = (float*)malloc((1)*sizeof(float));
            
    = (float*)malloc((1)*sizeof(float));
            for (
    int i 1<= n; ++i)
            {
                
    cout << "\nNhap toa do x, y cua diem thu " << << ":";
                
    cin >> x[i]; cin >> y[i];
            }
        }

        
    friend void tinh(daydiem a)
        {
            
    int  n,ijimaxjmax;
            
    float ddmax;
            
    a.n;
            
    dmax a.do_dai(12); imax 1jmax 2;
            for (
    1<= 1; ++i)
            for (
    1<= n; ++j)
            {
                
    a.do_dai(ij);
                if (
    dmax)
                {
                    
    dmax d;
                    
    imax i;
                    
    jmax j;
                }
            }
            
    cout << "\nDoan thang lon nhat co do dai bang: " << dmax;
            
    cout << "\n Di qua 2 diem co chi so la " << imax << " va " << jmax;
            
    cout << "\n";
        }
    };
    int main()
    {
        
    daydiem pd;
        
    p.nhapsl();
        
    tinh(p);
        
    system("pause");
    }
     

    Bình Luận Bằng Facebook

    data-href="https://cnttqn.com/threads/viet-chuong-trinh-nhap-vao-toa-do-x-y-voi-x-y-la-hai-con-tro.2105.html"