C/C++の宿題を片付けます 110代目
at TECH
354:デフォルトの名無しさん
08/06/22 22:22:32
>>301 nが小さいときだけおk
#include<iostream>
#include<algorithm>
#include<cmath>
struct point_t{
double x, y;
};
double calc_distance(const point_t &a, const point_t &b){
return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
}
int main(void){
const int n=1000; // これが小さいときだけ
double *distance=new double[n*(n-1)];
point_t *point=new point_t[n];
long i, j, x=0;
for(i=0;i<n;i++){
point[i].x=rand();
point[i].y=rand();
}
for(i=0;i<n;i++){
for(j=i+1;j<n;j++){
distance[x++]=calc_distance(point[i], point[j]);
}
}
std::sort(&distance[0], &distance[x]);
for(i=0;i<x;i++){
std::cout << distance[i] << std::endl;
}
return 0;
}
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4264日前に更新/251 KB
担当:undef