Không in ra được khoảng cách điểm tới gốc tọa độ?

Mình có 1 cái class và đề là nhập xuất n điểm rồi in ra khoảng cách các điểm đó tới gốc tọa độ 0(0, 0).Nhưng mình chỉ in ra được khoảng cách của 1 điểm thôi còn mấy điểm khác không in ra.

#include <iostream>
using namespace std;
class Diem {
private:
	float x;
	float y;
	float d;
public:
	void Nhap();
	void Xuat();
	float Kc();
	void In();
};
void Diem::Nhap() {
	cout << "Nhap x: ";
	cin >> x;
	cout << "Nhap y: ";
	cin >> y;
}
void Diem::Xuat() {
	cout << "(" << x << "," << y << ")" << "  ";
}
float Diem::Kc() {
	d = sqrt(pow(x, 2) + pow(y, 2));
	return d;
}
void Diem::In() {
	cout << d;
}
int main() {
	Diem d[100];
	int i, n;
	cout << "Nhap so diem: ";
	cin >> n;
	for (i = 0; i < n; i++) {
		d[i].Nhap();
	}
	cout << "____________________" << endl;
	cout << "Xuat diem" << endl;
	for (i = 0; i < n; i++) {
		d[i].Xuat();
		cout << endl;
	}
	for (i = 0; i < n; i++) {
		d[i].Kc();
	}
	cout << "_____________________" << endl;
	cout << "In khoang cach" << endl;
	for (i = 0; i < n; i++) {
		d[i].In();
	}
	return 0;
}

Phương thức Xuat() vẫn in ra đúng?

Thêm cout << endl; vào sau dòng d[i].In(); thử xem.

4 Likes

thanks bạn nha nó bị dính với nhau.

À mà bạn ơi cho mình hỏi làm sao để mình in ra được x và y của cái điểm có độ dài lớn nhất nhỉ?

Bạn phải tìm phần tử nào có d dài nhất trước.
Sau đó thì gọi hàm Xuat() của phần tử đó.

3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?