首页 > 电脑

c#一个方法中要输出两个double[]数组?输出的数组长度不定,怎么解决?

更新时间2018-03-06 19:55:30

//获取数组(x1,y1)中到原点距离小于(Xj,Yj)到原点的距离的元素,存入新矩阵(x,y),并将Xj,Yj放入对应的(x,y)

      public static void GetDisLessFirst(double[] x1, double[] y1, double Xj,double Yj, out double[] x, out double[] y)

      {

          //用out方法要 对x y赋初值,但是个数不确定,怎么解决?

          int n = 0;

          double d = (Math.Pow(Xj, 2) + Math.Pow(Yj, 2));

          for (int i = 0; i < x1.Length; i++)

          {

              if ((Math.Pow(x1[i], 2) + Math.Pow(y1[i], 2)) < d )

              {

                  n = n + 1;

              }

          }

          int j = 1;

          n = n + 1;

          double[] x = new double[n];double []y=new double [n];

          x[0] = Xj; y[0] = Yj;

          double dd=0;

          for (int i = 0; i < x1.Length; i++)

          {

              dd = (Math.Pow(x1[i], 2) + Math.Pow(y1[i], 2));

              if (dd <d)

              {

                  x[j]=x[i];y[j]=y[i];

                  j=j+1;

              }

 

          }


如果采用C#4.0来实现,以上5点都比较简单。1. 整型数组  int[] xx=new int[]();2. foreach这个数组,然后 x%2=0的就是偶数3. 采用linq实现,假定这个整数为y,则代码为  int m=xx.count(p=>p==y);if (m>0) 存在4. 这个会用到随机数,随机两个整数,范围在1到n-1之间即可,然后使用下标的方式来获取数组中的两个数,做除法。关键点在rand这个随机函数,以及数组的下表xx[9]5. 这个最简单,用linq来实现,只需要一句话  xx.orderby(p=>p)即可。

上一篇:c语言课设的一段代码,写了一小块,编译通过了,可是输入信息却有问题,,,,,希望大佬能告诉我什么原因

下一篇:共享密钥格式passphrase和Hex(64字符)哪个好