c言語についてです。
2次元空間の点(x,y)をPoint構造体で表しており、点(x_1,y_1)と点(x_2,y_2)の距離は,〖(x_1-x_2)〗^2+(y1-y2)2で与えるとする。
関数minPairは複数個の点からなる配列pointsの中から,最短距離にある異なる2点の添え字を出力する
というコードを書きたいのですが、コメント部分が記述できません。お教えください。
#include <stdio.h> typedef struct Point { double x; double y; } Point; typedef struct Pair { int indexi; int indexj; } Pair; Pair minPair(Point *m, int k) { int i; double d,mind; int mini; for (mind = -1, i = 0; i < k; i++) { d = //ココの掛け算ができません; if(mind < 0 || d < mind){ mind = d; mini = i; } } } int main(void) { Point points[5] = {{2, 3.5}, {-1, 4}, {10, 10}, {10.5, 10}, {2.1, 3.5}}; Pair p; p = minPair(points, 5); printf("points[%d]とpoints[%d]が最も近い.", p.indexi, p.indexj); }