###前提・実現したいこと
たびたびの質問で失礼します。
前回質問し、一部解決したプログラムです。
30人分の国語と英語の試験結果をもとに、各教科の平均点・最低点・最高点を計算し、さらに2つの教科の点数の相関係数、ユークリッド距離を求めるものです。
各メソッドの中に計算式を入れるのですが、そのために点数の合計の値を使う必要があります。
その値をpublic ExamResult(int[] p)
の部分から求めています。
###発生している問題・エラーメッセージ
これから各メソッドに計算式を入力するところですが、ExamResultTest
クラスに書き込んだ配列の値をそれぞれのメソッドに読み込ませる良い方法が思いつきません。
また、public ExamResult(int[] p)
の部分から計算した点数の合計の値も読み込めません。
配列の値、点数の合計を各メソッドに反映させ、計算式を作るにはどうすればよいでしょうか?
皆さんの助言をいただけると幸いです。
・値を返さないコードパスがあります。(Avg,Min,Max,Stdv,Corr,Dist下部)
###該当のソースコード
C#
1 2using System; 3using System.Linq; 4 5 public class ExamResult 6 { 7 8 int[] point; 9 10 public ExamResult(int[] p) 11 { 12 point = new int[p.Length]; 13 14 for (int i = 0; i < p.Length; i++) 15 { 16 point[i] = p[i]; 17 } 18 19 } 20 21 public double Avg() 22 { 23 24 } 25 26 27 public int Min(params int[] point) 28 { 29 30 } 31 public int Max(params int[] point) 32 { 33 34 35 } 36 public double Stdv() 37 { 38 39 40 } 41 public double Corr(ExamResult x) 42 { 43 44 } 45 46 public double Dist(ExamResult x) 47 { 48 49 } 50 51 52 } 53 54 55 56 class ExamResultTest 57 { 58 public static void Main() 59 { 60 ExamResult English = new ExamResult(new int[] { 80, 35, 45, 36, 78, 89, 67, 58, 37, 58, 53, 59, 50, 47, 58, 37, 19, 97, 86, 90, 10, 79, 37, 87, 45, 67, 68, 69, 65, 100 }); 61 ExamResult Japanese = new ExamResult(new int[] { 32, 55, 38, 25, 78, 80, 70, 48, 50, 42, 78, 63, 51, 40, 41, 67, 35, 86, 89, 75, 53, 45, 60, 30, 67, 43, 86, 73, 65, 90 }); 62 Console.WriteLine("英語の平均点は{0},最低点は{1},最高点は{2}",English.Avg(),English.Min(),English.Max()); 63 Console.WriteLine("英語の標準偏差は{0}", English.Stdv()); 64 Console.WriteLine("国語の平均点は{0},最低点は{1},最高点は{2}",Japanese.Avg(), Japanese.Min(), Japanese.Max()); 65 Console.WriteLine("国語の標準偏差は{0}", Japanese.Stdv()); 66 Console.WriteLine("英語と国語の相関係数は{0}",English.Corr(Japanese)); 67 Console.WriteLine("英語と国語のユークリッド距離は{0}", English.Dist(Japanese)); 68 69 70 } 71 }
###試したこと
Avg
(平均値)のメソッドをpublic ExamResult(int[] p)
の中に含め、p.Length
(点数の配列の合計)を反映しようとしたのですが、コンテキストにp.Length
はない、とエラーが出てしまいました。
###補足情報(言語/FW/ツール等のバージョンなど)
Visual Studio2015です。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/06 06:53