30/09/2018, 16:37
Khai báo một vector kiểu struct
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
struct point2D
{
int x;
int y;
};
float max(float a, float b)
{
if (a>b)
return a;
else
return b;
}
void inputPoint(vector<point2D> point)
{
int i;
int n;
point2D temp;
cout << "Hay nhap so diem: ";
cin >> n;
point.resize(n);
for (i=1;i<=(n);i++)
{
cout << "Hay nhap diem thu " << i << endl ;
cin >> temp.x >> temp.y;
point.push_back(point2D()); //emplace_back()
point[i-1].x=temp.x;
point[i-1].y=temp.y;
}
cout << "Complete";
}
float distance(point2D pt1, point2D pt2)
{
return sqrt(pow(double(pt1.x-pt2.x),2)+pow(double(pt1.y-pt2.y),2));
}
float findDis(vector<point2D> point)
{
int size=point.size();
float maximum=0;
int i,j;
for (i=0;i<size;i++)
for (j=0;j<size;i++)
maximum=max(maximum,distance(point[i],point[j]));
return maximum;
}
int main()
{
vector<point2D> point;
int n;
inputPoint(point);
cout << "Khoang cach lon nhat la: " << findDis(point);
getchar();
getchar();
return 0;
}
bị báo lỗi nhưng em không biết sửa sao cả :((
làm thử theo bên này mà không được http://stackoverflow.com/questions/8067338/c-vector-of-structs-initialization
Bài liên quan
Ideone.com
Ideone is something more than a pastebin; it's an online compiler and debugging tool which allows to compile and run code online in more than 40 programming languages.
Không thấy ideone báo lỗi biên dịch, chỉ thấy báo lỗi runtime.
Mình chạy bằng visual toàn báo lỗi đến thư viện
xutility
dùng using namespace std -> đụng độ với hàm std::distance.
đổi tên của hàm float distance(point2D pt1, point2D pt2) là ok.
Có 2 lỗi:
findDis
:for(j=0.... i++ ???)
tks mọi người nhé…