我有2个数组,第一个数组包含resource_wastage的所有值,第二个数组包含power_consumed的所有值。为了实现模糊逻辑,我需要检查资源浪费和功耗是否同时低,然后我的输出将是数组索引,如果其中一个是低而第二个不是那么我应该继续下一个值在阵列中。
例如:
for(int i=0, i<n; i++)
if(res_was[0] is low in all res_was[i=0 to n] && [pow_con[0] is low in all pow_con[i=0 to n])
{
print i;
break;
}
else continue with next value in arrays;
请帮助我实现这个,我的意思是检查两个数组中的值是否同时低。
答案 0 :(得分:2)
你可以使用这样的东西。数组有最小搜索的特殊方法。
var resMin = res_was.Min();
var powMin = pow_con.Min();
for(int i = 0; i < n; i++)
{
if(res_was[i] == resMin && pow_con[i] == powMin)
{
Console.writeLine(i);
break;
}
}
可能你需要使用更复杂的Min方法。您可以在MSDN中阅读所有这些内容。
答案 1 :(得分:0)
也试试这个;
找到minvalue和minvalue位置,然后比较是否等于继续你的过程......
int _ires_wasminValue = Enumerable.Range(0, res_was.Length).Min(i => res_was[i]);
int _imin_res_was_pos = Array.IndexOf(res_was, _ires_wasminValue);
int _ipow_cons_minValue = Enumerable.Range(0, res_was.Length).Min(i => res_was[i]);
int _imin_pow_cons_pos = Array.IndexOf(res_was, _ires_wasminValue);
if (_imin_pow_cons_pos==_imin_res_was_pos)
{
Console.writeLine(_imin_pow_cons_pos);
}