0

すべての関数を保持する関数クラスがあります。関数間で引数を渡したいのですが、 recursive では渡しません。

私の最初の関数が配列を返し、その配列をチェックする別の関数に送りたいとしましょう。

Programクラスでどうすればいいですか?

私は試します:

  public List InsertFibo()
    {                  
        List<int> Fibo = new List<int>();              
        Console.WriteLine("enter you number");
        string n = Console.ReadLine();
        int numbers = Convert.ToInt32(n);

        for (int i = 0; i < numbers; i++)
        {

            Console.WriteLine("insert numbers");
            string z = Console.ReadLine();
            int number = Convert.ToInt32(z);
            Fibo.Add(number);
        }
        return Fibo; ;

    }

    public bool check(List<int> f)
    {
        int temp1=0;
        int temp2=1;
        int temp3=2;

        if (f[temp1]+f[temp2]==f[temp3])
        {
            temp1++;
            temp2++;
            temp3++;
            return true ;
        }
        else
        {
            return false;   
        }
    }

プログラムクラス

Fibonachi f = new Fibonachi();
       Console.WriteLine(f.InsertFibo());
       Console.WriteLine(f.check());

どうすればいいのですか?

4

3 に答える 3

1

あなたはこれを使うことができます

Fibonachi f = new Fibonachi();
List list = new List();
list = f.InsertFibo();
Console.WriteLine(list);
Console.WriteLine(f.check(list));
于 2013-01-10T10:40:01.737 に答える
0

あなたのプログラムについての私の理解は、関数 InsertFibo() がユーザーに数字 n (たとえば 5) を入力し、次に n 数字 (5 数字) を入力するように要求するということです。次に、入力された数値がフィボナッチ数列を形成することを確認するために、2 番目の関数 check() が呼び出されます。

したがって、最初の関数の呼び出しは次のようになります

Fibonacci Fibonacci = new Fibonacci();
List<int> lstFibNumbers = Fibonacci.InsertFibo();
for(int index = 0; index < lstFibNumbers.Count; index++)
  Console.WriteLine(lstFibNumbers[index]);

チェックメソッドを次のように呼び出します

Console.WriteLine(Fibonacci.check(lstFibNumbers));

チェック方法はこんな感じ

public bool check(List<int> f)
{
  int temp1=0;
  int temp2=1;
  int temp3=2;

  bool IsAFibonacciSeries = false;

  while(temp1 < f.Count)
  {
    if (f[temp1]+f[temp2]==f[temp3])
    {
      temp1++;
      temp2++;
      temp3++;
      IsAFibonacciSeries = true;
    }
    else
    {
      return false; //If anytime the series is not followed, just return false
    }
  }
  return IsAFibonacciSeries;
}
于 2013-01-10T11:15:21.113 に答える
0

試す

Array a = new Array ();
var b = a.InsertArray()
Console.WriteLine(b);
Console.WriteLine(a.check(b));
于 2013-01-10T10:40:04.450 に答える