0

数か月前に C# とプログラミングの学習を開始しましたが、いくつか問題があります。ここでの考え方は、2 次元配列を作成することです (行/列の数はユーザーが追加します)。数値は 1 から 10 の間である必要があります。

次に、配列が作成されると、番号シーケンス (3-5-7-9-11 など) が最初の列で開始され、最後の列で終了します。列の残りの数字は、最初の行から始まるユーザーによってキーボードを介して追加されます (列 1 と最後の列を無視して、追加した原因になります)。

質問は次のとおりです。

  • 行/列の数が 1 から 10 の間であるかどうかを確認する最良の方法は何ですか? (IF-elseを考えていたのですが、もっといい方法はないでしょうか?)
  • 3-5-7 などの数列が最初の列で始まり、最後の列で終わるようにするにはどうすればよいですか? ええ、私は失われたと感じます。

私は今どこにいますか:

        Console.WriteLine("Add row value of 1-10");
        string s1
        s1 = Console.ReadLine();
        int k = int.Parse(s1);

        Console.WriteLine("Add column value of 1-10");

        string s2;
        s2 = Console.ReadLine();
        int p = int.Parse(s2);
        int[,] M = new int[k, p];

例: k(row) & p(coulmn) 値 4 を追加したので、配列は次のようになります。

3×11

5×13

7×15

9×17

次に、既存の数字を上書きせずに手動で X を再度追加する必要があります。数字の値は重要ではありません。

4

2 に答える 2

0
if(k>0 && k<11 && p>0 && p<11)
{
 int i;
 int M[,] = new int[k,p];
 for (i=0;i<k;i++)
 {
  M[i,0]=i*2+3;
  M[i,p-1]=(i+k)*2+3;
 }
}
于 2013-03-25T15:57:36.130 に答える
0

それで...私がそれを正しく理解したら、ユーザーに動的2次元配列の「長さと幅」を尋ねたいですか? 入力された数値が 1 から 10 の間であるかどうかを確認するには、1 つの方法しかありません。

int [,] M;

if (k >= 1 && k <= 10 && p >= 1 && p <= 10)
{
    M = new int[k,p];
}

int.TryParse()ユーザーが数字の代わりに文字を入力する場合は、大文字と小文字を区別することをお勧めします。そうしないと、Exception.

数字で埋める:

int num = 3;
for (int i = 0; i < k; ++i)
{
    M[i,0] = num;
    num+=2;
}

for (int i = 0; i < k; ++i)
{
    M[i,p] = num;
    num+=2;
}

これにより、各行の最初と最後の列に数値が追加されます。その後、他のセルを手動で入力するには、最初または最後の列にないすべてのセルをチェックします。私はあなたを正しく理解したことを願っています。提供されるコードは簡略化されている場合がありますが、理解を深めるためにそのように提供されています。

于 2013-03-25T15:39:18.100 に答える