【问题标题】:compare array values respectively with real time variable at run time在运行时将数组值分别与实时变量进行比较
【发布时间】:2015-12-13 10:14:33
【问题描述】:

我是 C# 编程新手,请帮助我解决这个问题

 if(x[index] == maxHz)
 {
  //print ok
 }

我有一个程序可以根据麦克风输入计算实时频率。无论如何 maxHz 变量是实时快速变化变量(频率)。

x[index] 数组在 for 循环内。 x[index] 是数组保存存储的值。我想检查 x[index] 值是否等于 maxHz 值。首先 maxHz 值应该等于 x[index] array 的第一个值。然后 maxHz 值应该等于 2nd x[index] value 。然后 maxHz 值应该等于 3rd x[index] value 。

像这样的 for 循环应该暂停,直到 x[index] 值等于 maxHz ,如果等于,则继续迭代。如果条件为真,则索引不应增加。 请有人告诉我如何完成这项任务?

【问题讨论】:

  • maxHz如何变化?
  • 感谢回复...该程序采用实时麦克风输入声音并应用 fft 算法并提供如下实时频率。 for (int f = 0; f
  • 请记住,在“普通”代码中,一次只执行一行。你不能简单地做while(x[index] != maxHz) {...},因为你将永远停留在那个循环中,永远不会再改变maxHz。但是,您可以使用线程来允许并行执行,但这是一个高级主题。你可以在这里阅读更多:msdn.microsoft.com/en-us/library/aa645740(v=vs.71).aspx

标签: c# visual-studio for-loop signal-processing


【解决方案1】:

我认为这样就可以完成工作:

for (int index = 0; index < xxx;index++ )
            if (x[index] == maxHz)
            {
                //print ok
            }

根据您的需要更改它。 length

祝你好运。

【讨论】:

  • 是的,你说得对。但 maxHz 随时间而变化。 x[index] 长度可以作为你的方式。但是 x[index] 和 maxHz 仍然需要执行匹配任务,直到 x[index] 值等于 maxHz 值才能增加索引值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-21
  • 2021-06-13
  • 2017-01-12
  • 1970-01-01
相关资源
最近更新 更多