主题:紧急求助哥哥姐姐帮忙!!!
hantaowang
[专家分:30] 发布于 2006-05-27 22:02:00
排序前的数据:
5 7 3 4
12 1 25 9
6 19 34 7
(按列把二维数组从小到大排列)
排序后的数据为:
1 5 7 19
3 6 9 25
4 7 12 34
[em15]
回复列表 (共5个回复)
沙发
moz [专家分:37620] 发布于 2006-05-28 10:07:00
1. 搞清楚数组的总个数及排列形式
2. 进行排序
3. 排好序好进行灌装
板凳
LSQ [专家分:220] 发布于 2006-06-10 13:06:00
CLS
INPUT N,M
DIM A(N,M)
FOR I=1 TO N
FOR J=1 TO M
INPUT A(I,J)
NEXT J,I
FOR I=1 TO N-1
FOR J=1 TO M-1
FOR K=I+1 TO N
FOR L=J+1 TO M
IF A(I,J)>A(K,L) THEN SWAP A(I,J),A(K,L)
NEXT L,K,J,I
FOR I=1 TO N
FOR J=1 TO M
PRNIT A(I,J);
NEXT J
PRINT
NEXT I
END
3 楼
老大徒伤悲 [专家分:29120] 发布于 2006-06-10 21:14:00
定义一个二维数组a(4,4),一个一维数组k(16)。
先把原图的数字读入一维数组
再进行排序。
上面俩步太简单省略。
最后把一维数组转换成二维数组:
for i=1 to 4
for j=1 to 4
a(i,j)=k((j-1)*4+i)
? a(i,j);" ";
next j
?
next i
4 楼
JRX [专家分:180] 发布于 2006-06-10 22:25:00
CLS
DIM A(3, 4), B(12)
FOR I = 1 TO 3
FOR J = 1 TO 4
INPUT A(I, J)
B((I - 1) * 4 + J) = A(I, J)
NEXT J
NEXT I
FOR I = 1 TO 11
FOR J = I + 1 TO 12
IF B(I) > B(J) THEN SWAP B(I), B(J)
NEXT J
NEXT I
FOR I = 1 TO 3
FOR J = 1 TO 4
PRINT USING "###"; B((J - 1) * 3 + I);
NEXT J
PRINT
NEXT I
END
5 楼
jw001 [专家分:0] 发布于 2006-08-08 22:40:00
INPUT N,M
DIM A(N,M)
FOR I=1 TO N
FOR J=1 TO M
INPUT A(I,J)
NEXT J,I
FOR I=1 TO N-1
FOR J=1 TO M-1
FOR K=I+1 TO N
FOR L=J+1 TO M
IF A(I,J)>A(K,L) THEN SWAP A(I,J),A(K,L)
NEXT L,K,J,I
FOR I=1 TO N
FOR J=1 TO M
PRNIT A(I,J);
NEXT J
PRINT
NEXT I
我来回复