teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

コメント追加

2017/02/06 07:47

投稿

ozwk
ozwk

スコア13553

answer CHANGED
@@ -38,13 +38,13 @@
38
38
 
39
39
  int sumx, sumy;
40
40
  sumx = sumy = 0;
41
- foreach(int[] d in ls)
41
+ foreach(int[] d in ls)
42
42
  {
43
43
  sumx += d[0];
44
44
  sumy += d[1];
45
45
 
46
46
  }
47
- double devsq =Math.Pow(sumx-sumy,2);
47
+ double devsq =Math.Pow(sumx-sumy,2);//ところでこれがユークリッド距離なのかは疑問
48
48
  return Math.Sqrt(devsq);
49
49
  }
50
50
  ```

1

こーど

2017/02/06 07:47

投稿

ozwk
ozwk

スコア13553

answer CHANGED
@@ -1,3 +1,5 @@
1
+ アドバイス
2
+ ---
1
3
  ```C#
2
4
  public double Corr(ExamResult x) // <- 引数がコード本体のどこにも出てこない = おかしい
3
5
  {
@@ -21,4 +23,28 @@
21
23
 
22
24
  `English.Corr(Japanese)`で全然Japanese使ってませんね。
23
25
  おかしいですね。
24
- 直しましょう。
26
+ 直しましょう。
27
+
28
+
29
+
30
+ 能書きはいいから答えはよ
31
+ ---
32
+ なるべく元のコードの雰囲気を残すと
33
+ ```C#
34
+ public double Dist(ExamResult x)
35
+ {
36
+ if (points.Length <= 2) throw new ArgumentException("points.Length <= 2");
37
+ var ls = points.Zip(x.points,(a,b)=>new[]{a,b});
38
+
39
+ int sumx, sumy;
40
+ sumx = sumy = 0;
41
+ foreach(int[] d in ls)
42
+ {
43
+ sumx += d[0];
44
+ sumy += d[1];
45
+
46
+ }
47
+ double devsq =Math.Pow(sumx-sumy,2);
48
+ return Math.Sqrt(devsq);
49
+ }
50
+ ```