2017-12-05 6 views
-4

多次元配列または1次元配列の中で最小の数を見つけようとしています。その後、番号を削除し、すべての番号を一緒に追加します。 minメソッドを使用して最小の数を見つけてsumメソッドを使ってそれらを加算することができます。しかし、私はminメソッドから結果を取り除く方法を知らない。配列内の最小の数字を見つけてそれを削除してから、すべての数値を加算する方法

public void Calculatepredictionbtn_Click (object sender, EventArgs e) 
{ 
    int firstymark1 = Int32.Parse(firsty_mark1.Text); 
    int firstymark2 = Int32.Parse(firsty_mark2.Text); 
    int firstymark3 = Int32.Parse(firsty_mark3.Text); 
    int firstymark4 = Int32.Parse(firsty_mark4.Text); 
    int firstymark5 = Int32.Parse(firsty_mark5.Text); 
    int firstymark6 = Int32.Parse(firsty_mark6.Text); 
    int firstymark7 = Int32.Parse(firsty_mark7.Text); 
    int secondymark = Int32.Parse(secondy_mark1.Text); 
    int[] modules = new int[] { firstymark1, firstymark2, firstymark3, firstymark4, 
           firstymark5, firstymark6, firstymark7 }; 
    int reduction = modules.Min(); 
    ///dont know how to remove the number 
    int arrayadded = modules.Sum(); 
} 
+0

Listを使用することによって、あなたはまた、Remove方法を持っています最小。 " - "を使うだけです。あなたは7つのローカル変数を作成する必要はありません、なぜあなたは直接配列にデータを入れないのですか? –

+0

回答が問題を解決したと思われる場合は、回答の横にある灰色のチェックマークをクリックして、「受け入れ済み」とマークしてください。回答を受け入れる方法は次のとおりです。https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work –

答えて

1

あなたが値を削除したいので、配列のサイズを変更することは高価であるため、それは、配列の代わりにListを使用する方が良いだろう。 (あなたが本当にパフォーマンスを探しているが、それはケースのように見えるしていない場合)しかし...あなたはすでに合計と持って、それを行うには良い方法があります

List<int> modules = new List<int>(){ firstymark1, firstymark2, firstymark3, firstymark4, 
             firstymark5, firstymark6, firstymark7 }; 
int reduction = modules.Min(); 
modules.Remove(reduction); 
int arrayadded = modules.Sum(); 
関連する問題