回答編集履歴

2

コメント追加

2017/02/06 07:47

投稿

ozwk
ozwk

スコア13521

test CHANGED
@@ -78,7 +78,7 @@
78
78
 
79
79
  sumx = sumy = 0;
80
80
 
81
- foreach(int[] d in ls)
81
+ foreach(int[] d in ls)
82
82
 
83
83
  {
84
84
 
@@ -90,7 +90,7 @@
90
90
 
91
91
  }
92
92
 
93
- double devsq =Math.Pow(sumx-sumy,2);
93
+ double devsq =Math.Pow(sumx-sumy,2);//ところでこれがユークリッド距離なのかは疑問
94
94
 
95
95
  return Math.Sqrt(devsq);
96
96
 

1

こーど

2017/02/06 07:47

投稿

ozwk
ozwk

スコア13521

test CHANGED
@@ -1,3 +1,7 @@
1
+ アドバイス
2
+
3
+ ---
4
+
1
5
  ```C#
2
6
 
3
7
  public double Corr(ExamResult x) // <- 引数がコード本体のどこにも出てこない = おかしい
@@ -45,3 +49,53 @@
45
49
  おかしいですね。
46
50
 
47
51
  直しましょう。
52
+
53
+
54
+
55
+
56
+
57
+
58
+
59
+ 能書きはいいから答えはよ
60
+
61
+ ---
62
+
63
+ なるべく元のコードの雰囲気を残すと
64
+
65
+ ```C#
66
+
67
+ public double Dist(ExamResult x)
68
+
69
+ {
70
+
71
+ if (points.Length <= 2) throw new ArgumentException("points.Length <= 2");
72
+
73
+ var ls = points.Zip(x.points,(a,b)=>new[]{a,b});
74
+
75
+
76
+
77
+ int sumx, sumy;
78
+
79
+ sumx = sumy = 0;
80
+
81
+ foreach(int[] d in ls)
82
+
83
+ {
84
+
85
+ sumx += d[0];
86
+
87
+ sumy += d[1];
88
+
89
+
90
+
91
+ }
92
+
93
+ double devsq =Math.Pow(sumx-sumy,2);
94
+
95
+ return Math.Sqrt(devsq);
96
+
97
+ }
98
+
99
+ ```
100
+
101
+