int iterationMax = 1;
double actualMax = 0;
int A = 3;
List<double> tmp = new List<double> { 400, 0, -300, 400, 600 ,300, 400,
1200, 900, 400, 1200, 1500};
List<double> listMax = new List<double>();
for (int i = 0; i < tmp.Count; i++)
{
if (iterationMax < A) // A == 3
{
if (tmp[i] > actualMax)
{
actualMax = tmp[i];
}
iterationMax++;
}
else
{
listMax.Add(actualMax);
actualMax = 0;
iterationMax = 1;
}
}
Console.WriteLine("\nMaxs: ");
foreach (double max in listMax)
{
Console.Write(max + ", ");
}
列表TMP持有= { 400,0,-300|400,600,300|400,1200,900|400,1200,1500}
, 生產400, 600, 1200, 1200
, 應該是400, 600, 1200, 1500
。我不知道如何進入else語句來添加1500到列表。強制循環多一次?
我只想從每3個元素中獲得最大值。
是不是有一個錯字? 'listMax.Add(aktualnyMax)'應該是'listMax.Add(actualMax)' – enkryptor
是的,我是用不同的語言寫的,所以我不得不改變變量的名字 – quimak
列表 tmp = new List (){400,0 ,-300,400,600,300,400,1200,900,400,1200,1500}; 列表 maxes = tmp.Select((x,i)=> new {value = x,index = i})GroupBy(x =>(int)(x.index/3))。Select(x = > x.Select(y => y.value).Max())。ToList(); –
jdweng