-
29-04-2016, 12:13 PM #1Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Lỗi con trỏ p trong Class Vector, giúp em với ạ.
Em viết code như sau:
//Vector.h
Mã:class CVector { private: int n; double *p; public: CVector(); CVector(int); CVector(const CVector &); ~CVector(); void Nhap(); void Xuat(); int LayN(); CVector Cong(const CVector &); CVector Tru(const CVector &); CVector Nhan(double); //Nhân với một số thực double Nhan(const CVector &); //Nhân hai vector };
Mã:#include "stdafx.h" #include "Vector.h" #include <iostream> #include <conio.h> #include <math.h> using namespace std; CVector::CVector() { n = 0; p = new double[n]; for (int i = 0; i <= n; i++) p[i] = 0; } CVector::CVector(int nn) { n = nn; p = new double[n]; for (int i = 0; i <= n; i++) p[i] = 0; } CVector::CVector(const CVector &u) { n = u.n; p = new double[n]; for (int i = 0; i < n; i++) { this->p[i] = u.p[i]; } } int CVector::LayN() { return n; } void CVector::Nhap() { for (int i = 0; i < n; i++) { cout << "Nhap toa do thu [" << i << "]: "; cin >> this->p[i]; } } void CVector::Xuat() { cout << "Vector: ("; for (int i = 0;i < n - 1; i++) { cout << this->p[i] << ","; } cout << this->p[n - 1] << ")"; } CVector CVector::Cong(const CVector &u) { CVector temp; temp.n = u.n; temp.p = new double[temp.n]; for (int i = 0; i < n; i++) { temp.p[i] = this->p[i] + u.p[i]; } return temp; } CVector CVector::Tru(const CVector &u) { CVector kq; kq.n = n; kq.p = new double[kq.n]; for (int i = 0; i < n; i++) { kq.p[i] = this->p[i] - u.p[i]; } return kq; } CVector CVector::Nhan(double x) { CVector kq; kq.n = n; kq.p = new double[kq.n]; for (int i = 0; i < n; i++) { kq.p[i] = this->p[i] * x; } return kq; } double CVector::Nhan(const CVector &u) { double kq1=0; for (int i = 0; i < n; i++) { kq1 = kq1 + (this->p[i] * u.p[i]); } return kq1; } CVector::~CVector() { delete []p; }
Bác nào giỏi giúp em vụ này với ạ.View more random threads:
- 1 số vấn đề struct và hàm trả về.????help.
- Nhận biết máy sắp tắt mà ko dùng messeage
- Vẽ hình trái tim
- Cách convert từ char* sang Byte[] trong Winform C++?
- Đa năng hóa toán tử cộng chuỗi
- Nhập dữ liệu vào textbox có kèm search ký tự[Cần giúp]
- Xin thuật toán sắp xếp ma trận tăng(giảm) không dùng mảng phụ.
- code đọc ảnh bitmap ra ma trận điểm ảnh trong opencv?
- [Hỏi>> cách run 1 chương trình C++
- Play embed audio trong VC++ 2008
-
29-04-2016, 02:30 PM #2Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
về hàm cộng thì có lẽ thế này
Mã:CVector CVector::Cong(const CVector &u) { CVector *temp=new CVector; temp->n = u.n; temp->p = new double[temp->n]; for (int i = 0; i < n; i++) { temp->p[i] = this->p[i] + u.p[i]; } return *temp; }
-
03-05-2016, 06:41 PM #3Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Mình thử rồi, kết quả vẫn vậy
-
04-05-2016, 10:09 AM #4Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi jungsunghyo
Mình viết như #2 thì thấy ổn muh. Thậm chí return thẳng 1 object trên Ideone còn được.
Mình nghĩ là thớt nên (chính xác là buộc phải) cài đặt cái operator= vì thế nào thớt cũng viết:
Mã:CVector a,b;/* doing something */CVector c = a.Cong(b);
-
04-05-2016, 07:09 PM #5Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Hàm tạo mặc định, cho n == 0, cấp phát bộ nhớ và for, viết thừa ?
Mã:CVector::CVector(){ n = 0; p = new double[n]; for (int i = 0; i <= n; i++) p[i] = 0;}
Mã:CVector CVector::Cong(const CVector &u){ CVector temp; temp.n = u.n; temp.p = new double[temp.n]; for (int i = 0; i < n; i++) { temp.p[i] = this->p[i] + u.p[i]; } return temp;} CVector CVector::Tru(const CVector &u){ CVector kq; kq.n = n; kq.p = new double[kq.n]; for (int i = 0; i < n; i++) { kq.p[i] = this->p[i] - u.p[i]; } return kq;} double CVector::Nhan(const CVector &u){ double kq1=0; for (int i = 0; i < n; i++) { kq1 = kq1 + (this->p[i] * u.p[i]); } return kq1;}
-
26-05-2016, 04:57 PM #6Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
đã ra chưa bạn. [IMG]images/smilies/dont_know.gif[/IMG]
-
26-05-2016, 05:03 PM #7Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
@^^ Quăng exception chứ còn sao nữa, chủ yếu là thớt ko hề nghĩ đến chuyện này, nhưng mà như vậy là không thể chấp nhận được.
@^ Xong rồi bạn [IMG]images/smilies/biggrin.png[/IMG]
Pallet nhựa Lâm Đồng giải pháp hoàn hảo cho nhà kho Pallet nhựa Lâm Đồng là một giải pháp đa năng và hiệu quả trong việc vận chuyển và lưu trữ hàng hóa. Trong đó, pallet nhựa Lâm Đồng không chỉ đáp...
Pallet nhựa Lâm Đồng giải pháp...