初学者的问题 MQL4 MT4 MetaTrader 4 - 页 241

 

你好程序员 !

如何解决for循环中两个数字的比较?

在没有循环i的情况下,要找到A==B需要什么?

在循环中,比较两个数字只在i 上进行 例如,如果i==1,它就 比较它们,然后它只通过数字A和B与等于i 的数字进行比较

我想让它把所有给定的数字都互相尝试一下,不要出现循环i的情况。如何在代码中实现这一点,如果你能展示一个代码例子。

谢谢你

а

#property copyright "."
#property link      ""
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
 
    for(int i=1; i<10; i++)
     {   
      double x=1.0;
      double y=0.5;
        
      double A = x*i;
      double B = y*i;
  
      Alert(" i = ",i,"     A = ",DoubleToStr(A,1),"     B = ",DoubleToStr(B,1));
      
      //КАК НАЙТИ СРАВНЕНИЕ ЧИСЕЛ А == В БЕЗ УЧЕТА i ?
   }
  }
//+------------------------------------------------------------------+
附加的文件:
Test_1.mq4  2 kb
 

在循环中做一个循环。 首先将第一个A与十个B中的每一个进行比较,然后是第二个A,等等。

 
Aleksei Stepanenko:

在一个循环中做一个循环。 首先将第一个A与十个B中的每一个进行比较,然后是第二个A,等等。

谢谢你的回答。

在这个周期中,9次? 9次A,9次B。

我有一个100个A和100个B的循环,这已经是把每个A和B.... 100次了。这是一场恶梦。

没有其他办法了吗?

 

这一切都取决于手头的任务。可能你根本不需要寻找什么。例如,如果一些数值事先被储存在一个数组中。

到目前为止,从你的例子中还不清楚需要什么。这些比较是为了什么,你想得到什么?

 
Aleksei Stepanenko:
这一切都取决于手头的任务。也许你根本不需要搜索什么。例如,如果一些数值事先被储存在一个数组中。

我想过了,只有对数组我才有问题,太老了,不能理解它们。但如果有一个例子,也许我可以想出如何应用它。我想过用二维数组,但一直没能实现。数据在一维数组中的输出与在loop.... 中相同。

我在想,也许有人遇到过这种情况,并有解决办法可以分享。

 
Aleksei Stepanenko:

从你的例子中仍然不清楚需要什么。这些比较是为了什么,你想得到什么?

我把比较数据放到箭头对象的函数中,它只看到那些与i匹配的比较,这就是我上面描述的。
 

为了提出建议,你需要描述问题。不是解决方案,你如何看待它,而是你想从中得到什么。然后你就可以考虑实施了。

 
Aleksei Stepanenko:

为了提出建议,你需要描述问题。不是解决方案,你如何看待它,而是你想从中得到什么。然后我们可以考虑实施。

谢谢你,Aleksei,我将采纳你的第一个建议,我已经实施了。我只是想减少代码,它太多了。我以为有一个简单的解决方案,私下里已经有人告诉我,没有其他办法。

 
Aleksei Stepanenko:

为了提出建议,你需要描述问题。不是解决方案,你如何看待它,而是你想从中得到什么。然后我们可以考虑实施。

我一直在想,是否可以通过在数组中存储双倍数据来做到这一点?据我所知,你只能把int放入数组中?

我认为你可以用这个做一些事情.......

А[100]={0,1,2,......99};
 

在编程中,很少只有一种可能的解决方案。总有一些选择。你没有说什么意义,所以我不知道该说什么。

一个数组可以包含不同类型的数据。

int a[];
double b[];
string c[];
char d[];