[英]2d array,adding it values in a weird pattern
我幾個月前開始學習C#和編程,遇到了一些問題。 這里的想法是我們創建一個二維數組(用戶添加的行數/列數),該數字必須在1到10之間。
然后,當創建數組時,數字序列(3-5-7-9-11等)從第一列開始,到最后一列結束。 用戶通過鍵盤從第一行開始添加列中的其余數字(忽略列1和最后一列,因為我們添加了該列)。
問題是:
我現在在哪里:
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 xx 11
5 xx 13
7 xx 15
9 xx 17
然后應再次手動添加X,而不會覆蓋現有數字。數字的值無關緊要。
所以...如果我做對了,您想問用戶動態二維數組的“長度和寬度”嗎? 要檢查輸入的數字是否在1到10之間,只有一種方法:
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;
}
這將在每行的第一列和最后一列中添加數字。 之后,要手動填充其他單元格,請檢查每個單元格,它們不在fir或最后一列中。 我希望我能正確理解你。 提供的代碼可以簡化,但是以更好地理解的方式提供。
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;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.