作者DavidJam (平安又有錢才是福)
看板C_Sharp
標題[問題] 如何切割陣列與排序?
時間Sun May 21 21:41:35 2017
新手剛學C#
有些問題想請教板上高手
string e = "玩家A = ", k = "玩家B = ", g = "玩家C = ", u = "玩家D = ";
int[] a = new int[53];
Random rnd = new Random();
for(int i=1;i<a.Length;i++)
{
a[i] = rnd.Next(1, a.Length);
for (int j = 0; j < i; j++)
{
while (a[j] == a[i])
{
j = 0;
a[i] = rnd.Next(1, a.Length);
}
}
Console.Write(a[i] + " ");
if (i % 13 == 0)
{
Console.WriteLine();
//第二位玩家
Console.Write(k);
k = "";
}
if (i % 26 == 0)
{
//第三位玩家
Console.Write(g);
g = "";
}
if (i % 39 == 0)
{
//第四位玩家
Console.Write(u);
}
}
我想將陣列a[i]切成4份,但不知道該用什麼指令?
然後想將4份陣列各自排序,由小排到大,不知道該怎麼寫?我用
Array.Sort(a)會變成a陣列全部排序,不知道該怎樣才能把它分
成4段各自排序?
撲克牌的4種花色不知道要怎麼加?
我只上過5堂C#的課,所知有限,只能想到這裡,希望有高手可以指點。
如果違反板規我會自刪,感謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.242.103.187
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_Sharp/M.1495374099.A.776.html
1F:推 s89227: 你的變數命名可以給他一個有意義的名字嗎QQ 05/21 21:58
2F:→ s89227: 目前粗略看起來,這是想洗牌後發牌給四人,並幫他們拿到 05/21 22:01
3F:→ s89227: 的手牌各自按照牌的大小排序,是這樣嗎? 05/21 22:01
4F:→ DavidJam: 嗯嗯,像s大說的那樣,想了一整天想不出來。 05/21 22:37
5F:→ Litfal: 一些毛病、初學者就不吐槽了,不過至少變數命名習慣請養好 05/21 22:55
6F:→ Litfal: 分四份的話,你要宣告4個13張的陣列,然後跑迴圈用洗好牌 05/21 23:01
7F:→ Litfal: 的a把他們填滿阿。雖然可以用LINQ簡單解決,不過初學者先 05/21 23:02
8F:→ Litfal: 練好迴圈和陣列吧 05/21 23:02
9F:→ MOONY135: 我的話會直接亂洗一個陣列 然後拆4份給其他玩家 05/21 23:07
10F:→ DavidJam: M大說的就是我想要的,只是我不知道怎麼拆? 05/21 23:39
11F:→ DavidJam: 喔喔!謝謝L大和其他大大的建議。 05/21 23:40
12F:→ DavidJam: 可是我不知道怎麼把洗好的陣列,塞到其他陣列。 05/21 23:41
13F:→ DavidJam: 然後變數名稱是課堂上的老師這樣教的,我盡量改,謝謝各 05/21 23:46
14F:→ DavidJam: 位。 05/21 23:46
15F:推 vi000246: 你可以google =>C# split array 05/21 23:53
16F:→ vi000246: 然後找個你看得懂的方法 05/21 23:53
17F:推 TameFoxx: Array.Coby(a,起點,玩家,起點,長度); 05/22 12:24
18F:推 TameFoxx: 分四份的動作建議在迴圈外面作 05/22 12:32
19F:→ TameFoxx: 再來就是建議思考一下怎麼更有效率的洗牌 05/22 12:32
20F:→ DavidJam: 謝謝樓上各位的建議。 05/22 22:20