回 帖 发 新 帖 刷新版面

主题:[讨论]鞍点问题

2、求一个5 X 5数阵中的马鞍数,输出它的位置。所谓马鞍数,是指在行上最小而在列上最大的数。如下:
5 6 7 8 9
4 5 6 7 8
3 4 5 2 1
2 3 4 9 0
1 2 5 4 8

回复列表 (共1个回复)

沙发

CONST NN = 5;
VAR
   a: ARRAY[1..NN, 1..NN] OF LONGINT;
PROCEDURE xxx;
VAR
   i, j, k: INTEGER;
   f: BOOLEAN;
BEGIN
    FOR i:=1 TO NN DO
        FOR j:=1 TO NN DO BEGIN
            f := TRUE;
            FOR k:=1 TO NN DO
                IF (a[i, j] < a[k, j]) OR (a[i, j] > a[i, k]) THEN BEGIN
                   f := FALSE; BREAK;
                END;
            IF f THEN WRITELN('i= ', i, ' j= ', j, ' a[i, j]= ', a[i, j]);
        END;
END;
VAR
   i, j: INTEGER;
BEGIN
    FOR i:=1 TO NN DO
        FOR j:=1 TO NN DO BEGIN
            WRITE('Input a[', i, ', ', j, ']: ');
            READLN(a[i, j]);
        END;
    WRITELN('Result:');x
    xxx;
    READLN;
END.

我来回复

您尚未登录,请登录后再回复。点此登录或注册