一个关于MATLAB的程序,不知道怎么搞.哪位高手指点下啊
题目是:::你玩过牌吗?把13张牌反过来(背面朝上)按一定的顺序排列,先把你已经排好的牌第一张取出放在这叠牌的最底层,拿出第二张放在桌面上,然后将第三张取出又放在最底层,...
题目是::: 你玩过牌吗?把13张牌反过来(背面朝上)按一定的顺序排列,先把你已经排好的牌第一张取出放在这叠牌的最底层,拿出第二张放在桌面上,然后将第三张取出又放在最底层,取出第四张放在桌子上……直到游戏结束,你依次取出放在桌子上的牌刚好为K,Q,J,10,9,8,7,6,5,4,3,2,A。问你一开始时这13张牌的顺序是怎样的?请你用MATLAB编程解决这个问题?请把程序附上。如果把第一张牌放在最底层,第二张放在最底层,取出第三张放在桌子上,依此类推,你最后把所有的牌取出刚好依次是A,,2,3,4,5,6,7,8,9,10,J,Q,K.
展开
1个回答
展开全部
function f=card(c)
a=1:13;
i=1;
for j=1:13
n=numel(a); %目前的片数;numle为元数的个数。
a(n+1)=a(1); %在多少张里面取第一张。
a(1)=[];%将上面取出的第一张牌所在空格剪掉。
b(i)=a(1); %翻出来时桌面上亮出来的牌。
i=i+1;
a(1)=[];%随着i自增,取出现的空格为空。(即删除)。
end
%因为10占两位,故用单元d=cell(1,13);
%由BC对应的数,
%将C中字符型的牌放入由B决定对应的D中。
for k=1:13
r=b(k);
d{r}=c{k};
end
f=d;
a=1:13;
i=1;
for j=1:13
n=numel(a); %目前的片数;numle为元数的个数。
a(n+1)=a(1); %在多少张里面取第一张。
a(1)=[];%将上面取出的第一张牌所在空格剪掉。
b(i)=a(1); %翻出来时桌面上亮出来的牌。
i=i+1;
a(1)=[];%随着i自增,取出现的空格为空。(即删除)。
end
%因为10占两位,故用单元d=cell(1,13);
%由BC对应的数,
%将C中字符型的牌放入由B决定对应的D中。
for k=1:13
r=b(k);
d{r}=c{k};
end
f=d;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询