注册 登录
编程论坛 程序供求

排序问题+自动获取变量+循环循环循环...

csq5566 发布于 2013-03-16 11:12, 497 次点击
一、排序问题:
假设有4个数组:
A={[1 2],6};
B={[2 3],9};
C={[1],7};
D={[1 3],7};
对ABCD中的后面的数字进行升序排序,A为6,B为9,C、D为7,故顺序为A-C-D-B。
请问这样的排序应该怎样实现?
       二、获取变量
对于第一问中的排序结果,我现在需要按照上面排出的顺序A-C-D-B,获取它们中的一维矩阵
例如A中的[1 2],B中的[2 3];C中的[1];D中的[1 3];
并且将获取的矩阵还是按A-C-D-B的顺序自动代入其它函数中。
例如。。。。for A=[1 2];(这里的A=[1 2]是从上面自动代入的,而不是手动输出;因为上面的排序结果不出来,就不知道顺序)
                     for B=[2 3] ;            
                     for C=[1];
                     for D=[1 3];
...............
三、循环and循环and循环.......
有这样一个矩阵:F=[1 2 1 1;1 2 1 3;1 3 1 1;1 3 1 3];  又有个备用数字的集合P=[5 6 7 8 9];
现在要取遍它的每一行(这是第一个循环)
     之后对它的这一行数值进行分析(这是第二个循环)
如何分析:现在有两个一维数组,i=[1 2 2 3]; j=[2 3 4 4];
        依次取遍 i 与 j 中的数值,(第三个循环)
如,第一次时,i(1)=1;j(1)=2;  那么就让F第一行的第 i(1) 个数字与 j(1) 个数字作比较
      这里加个判断:如果 F第一行的第 i(1) 个数字 等于  j(1) 个数字
则 令 F第一行的第 j(1) 个数字换成P中第一个数字(这样做只是为了找一个异于F中元素的值,使F第一行的第 i(1) 个数字 不等于  j(1) 个数字),
这里再加个标志值(n=0),
然后第一行的第i(2)与j(2);i(3)与j(3);i(4)与j(4);分别作了比较时,
只要还有第 i(k) 个数字 等于  j(k) 个数字的
就 对j(k) 个数字 替换P中下一个数字,(这里还需要一个循环)
并让那个标志值n=n+1
最后取遍F中的每一行,对每一行作了数值分析之后,分别输出每一行的标志值,找到标志值最小的那一行,并输出这一行。

可乱吧,我先举个例子
例如取到第一行是[1 2 1 1]
i=[1 2 2 3]; j=[2 3 4 4];,
直到取到 第 i(4) 与 j(4)作比较的时候才有F的这一行的第 i(1) 个数字 等于  j(1) 个数字),就让 j(4)=P(1)
n=n+1,
如果其它行中做完比较时的n都比第一行的大,那么就输出F的第一行 [1 2 1 1] 、标志值n=1。

(求教跪拜)                                 
如果我的表述有问题或是太乱让朋友们没理清的,请一定要回复我。
程序请发至我的邮箱:5566.89@
2 回复
#2
wp2319572013-03-16 11:15
极品作业
#3
zklhp2013-03-16 14:00
把自己当什么人了 还必须要回复 还把程序发邮箱

论坛里没有任何一个人有义务回答你的问题 版主也一样没这义务
1