Hàm tính khoảng cách nhỏ nhất giữa 2 điểm không trả về kết quả

Khoảng cách 2 điểm trong mảng tọa độ Oxy nhưng hàm không trả kết quả d ? Giúp mình với ạ

float khoangcach(diem mang[], int n)
{
	float d;
	diem diem1, diem2;
	cout << "Nhap diem thu nhat:";
	cin >> diem1.x;
	cin >> diem1.y;
	cout << "Nhap diem thu hai:";
	cin >> diem2.x;
	cin >> diem2.y;
	for (int i = 0; i < n; i++)
			if (mang[i].x==diem1.x && mang[i].y==diem1.y)
				for (int j = 0; j < n; j++)
					if (mang[j].x==diem2.x && mang[j].y==diem2.y)
					d = sqrt(pow(mang[i].x - mang[j].x, 2) + pow(mang[i].x - mang[j].x, 2));
		return d;
}

Tại sao không phải là tính luôn khoảng cách giữa diem1 vào diem2?

Hàm nên chỉ có 1 chức năng duy nhất là tính khoảng cách, còn phần đọc bạn đưa ra chỗ khác nhé.

2 Likes

vi phạm S trong SOLID ( SINGLE RESPONSIBILITY PRINCIPLE )

nếu đề cho 2 điểm mà sao bạn lại for mảng thế ?

2 Likes

Thớt vào xác nhận cái đề nhé :smiley:

3 Likes

hix, máy tính nó điên luôn!!!

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