Từ 1 tới 4 trên tổng số 4 kết quả

Đề tài: Lớp vector, sửa em với

  1. #1
    Ngày gia nhập
    10 2006
    Nơi ở
    heaven
    Bài viết
    6

    Mặc định Lớp vector, sửa em với

    #include<iostream.h>
    #include<conio.h>
    const int Nmax=100;
    class Vector
    {
    private:
    float size[Nmax];
    int n;
    public:
    void Nhap();
    float TichVH(Vector);
    Vector operator+(Vector b);
    void Print();
    };




    void Vector::Nhap()
    {

    cout<<"nhap so phan tu cua vector\n";
    cin>>n;
    for(int i=0;i<n;i++)
    {
    cout<<"\nPhan tu thu: "<<i<<"\n";
    cin>>size[i];
    }
    }
    void Vector::Print()
    {
    int i;
    cout<<"\nCac phan tu cua vector la: ";
    for(i=0;i<n;i++)
    cout<<size[i]<<" ";
    }
    float Vector::TichVH(Vector y)
    {

    float s=0;
    for(int i=0;i<n;i++)

    {
    s+=(size[i]*y.size[i]);
    }
    return s;
    }
    Vector Vector::operator+(Vector b)
    {
    Vector c;
    for(int i=0;i<n;i++)
    c.size[i]= size[i]+b.size[i];

    return c;
    }

    void main()
    {

    Vector c,V1,V2;
    cout<<"Nhap Vector 1:\n";
    V1.Nhap();
    V1.Print();
    cout<<"\nNhap Vector 2:\n";
    V2.Nhap();
    V2.Print();
    float kq= V1.TichVH(V2);
    cout<<"\nTich vo huong cua 2 Vector la: "<<kq<<"\n";
    cout<<""<<endl;
    cout<<"Tong cua 2 vector la :";
    c=V1+V2;
    c.Print();

    }

  2. #2
    Ngày gia nhập
    08 2008
    Bài viết
    15

    PHP Code:
    #include<iostream>
    #include<conio.h>
    #include<stdio.h>
    using namespace std;
    const 
    int Nmax=100;
    class 
    Vector
    {
    private:
    float size[Nmax];
    int n;
    public:
    void Nhap();
    float TichVH(Vector );
    Vector operator+(Vector b);
    void Print();
    };




    void Vector::Nhap()
    {

    cout<<"nhap so phan tu cua vector\n";
    cin>>n;
    for(
    int i=0;i<n;i++)
    {
    cout<<"\nPhan tu thu: "<<i<<"\n";
    cin>>size[i];
    }
    }
    void Vector::Print()
    {
    int i;
    cout<<"\nCac phan tu cua vector la: ";
    for(
    i=0;i<n;i++)
    cout<<size[i]<<" ";
    }
    float Vector::TichVH(Vector y)
    {

    float s=0;
    for(
    int i=0;i<n;i++)
       
    s+=(size[i]*y.size[i]);
    return 
    s;

    }
    Vector Vector::operator+(Vector b)
    {
    Vector c;
    c.n=b.n;them dong nay
    for(int i=0;i<n;i++)
    c.size[i]= size[i]+b.size[i];

    return 
    c;
    }

    int main()
    {

    Vector c,V1,V2;
    cout<<"Nhap Vector 1:\n";
    V1.Nhap();
    V1.Print();
    cout<<"\nNhap Vector 2:\n";
    V2.Nhap();
    V2.Print();
    float kqV1.TichVH(V2);
    cout<<"\nTich vo huong cua 2 Vector la: "<<kq<<"\n";
    cout<<""<<endl;
    cout<<"Tong cua 2 vector la :";
    c=(V1+V2);
    c.Print();cho nay loi ne
    getch
    ();

    lần sau đọc nội quy post bài rồi cả post lên nhé

  3. #3
    Ngày gia nhập
    10 2006
    Nơi ở
    heaven
    Bài viết
    6

    cám ơn bạn, nhưng mình sửa theo bạn vẫn chưa đc.
    chỗ c.print() sai gì vậy bạn. bài trên vẫn báo lỗi ở size=new float[n];
    bạn xem lại giúp mình với

  4. #4
    Ngày gia nhập
    08 2008
    Bài viết
    15

    PHP Code:
    Vector Vector::operator+(Vector b)
    {
    Vector c;
    c.n=b.n;                                                // them dong nay
    for(int i=0;i<n;i++)
    c.size[i]= size[i]+b.size[i];

    return 
    c;

    bạn thêm dòng đó vào là được mà
    mình đã test và chạy đúng bạn cứ chạy bài của mình sẽ thấy(mình chạy bằng dev-C nhé bạn chay bằng borland thì sửa lại tý)
    chỗ c.print() sai gì vậy bạn
    theo mình chỗ này khi bạn dùng c=V1+V2 thì nó tự gọi phép gán mặc định
    nó sẽ copy từng bit một sang c ---> khi bạn in c.print() chương trình ko hiểu n của c bằng bao nhiêu ---> tạo ra một vòng lặp
    nếu bạn ko tin cứ thử bỏ dòng c.n=b.n ra
    bạn nên xem lại phần hàm tạo !!!!!!
    Đã được chỉnh sửa lần cuối bởi nguyenduyan : 15-02-2009 lúc 09:57 AM.

Các đề tài tương tự

  1. lỗi no matching function for call to `vector::vector(vector)'
    Gửi bởi ngonchanloi89 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 3
    Bài viết cuối: 10-11-2013, 11:25 AM
  2. Mã nguồn C Lỗi cách nhập vector<vector<string>>
    Gửi bởi trionlinestudy trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 0
    Bài viết cuối: 10-03-2013, 10:39 PM
  3. Thủ thuật C++ Khởi tạo một vector của vector at compile time.
    Gửi bởi rox_rook trong diễn đàn Thủ thuật, Tutorials và Mã nguồn C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 17-01-2011, 08:51 AM
  4. Kỹ thuật C++ Vector, thêm một phần tử vào vector
    Gửi bởi ngductong trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 30-05-2010, 11:33 PM
  5. vector trong lập trình OOP là gì? vector trên C++ là gì?
    Gửi bởi tunglong123 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 01-05-2009, 12:03 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn