Wednesday, December 15, 2010

Matrix addition and subtraction

       IDENTIFICATION DIVISION.
       PROGRAM-ID.
       ENVIRONMENT DIVISION.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 MATRIX.
         02 MAT OCCURS 10 TIMES.
           03 A PIC 9(4) OCCURS 10 TIMES.
           03 B PIC 9(4) OCCURS 10 TIMES.
           03 C PIC 9(4) OCCURS 10 TIMES.
           03 D PIC 9(4) OCCURS 10 TIMES.
       77 M PIC 9(3).
       77 N PIC 9(3).
       77 I PIC 9(3).
       77 J PIC 9(3).
       77 EMAT PIC -ZZZ9.
       PROCEDURE DIVISION.
       MAIN-PARA.
           DISPLAY "Enter the matrix dimensions".
           ACCEPT M.
           ACCEPT N.
           DISPLAY "Enter the fist matrix element".
           PERFORM READ-MAT1-PARA VARYING I FROM 1 BY 1 UNTIL I > M
                 AFTER J FROM 1 BY 1 UNTIL J > N.
           DISPLAY "Enter the second matrix element".
           PERFORM READ-MAT2-PARA VARYING I FROM 1 BY 1 UNTIL I > M
                 AFTER J FROM 1 BY 1 UNTIL J > N.
           DISPLAY (1 1) ERASE.
           PERFORM MAT-ADD-PARA VARYING I FROM 1 BY 1 UNTIL I > M
                 AFTER J FROM 1 BY 1 UNTIL J > N.
          PERFORM MAT-SUB-PARA VARYING I FROM 1 BY 1 UNTIL I > M
                 AFTER J FROM 1 BY 1 UNTIL J > N.
           PERFORM MAT-DIS-PARA VARYING I FROM 1 BY 1 UNTIL I > M
                 AFTER J FROM 1 BY 1 UNTIL J > N.
           STOP RUN.
       READ-MAT1-PARA.
           ACCEPT A(I J).
       READ-MAT2-PARA.
           ACCEPT B(I J).
       MAT-ADD-PARA.
           COMPUTE C(I J) = A(I J) + B(I J).
       MAT-SUB-PARA.
           COMPUTE D(I J) = A(I J) - B(I J).
       MAT-DIS-PARA.
           COMPUTE COL = J * 7 - 2.
           COMPUTE LIN = I + 4.
           MOVE A(I J) TO EMAT.
           DISPLAY (LIN, COL) EMAT.
           COMPUTE COL = J * 7 + 23.
           MOVE B(I J) TO EMAT.
           DISPLAY (LIN, COL) EMAT.
           COMPUTE COL = J * 7 - 2.
           COMPUTE LIN = I + 11.
           MOVE C(I J) TO EMAT.
           DISPLAY (LIN, COL) EMAT.
           COMPUTE COL = J * 7 + 23.
           MOVE D(I J) TO EMAT.
           DISPLAY (LIN, COL) EMAT.
         

2 comments:

  1. DISPLAY (1 1) ERASE.
    plz explain what is the use of above statement?

    ReplyDelete
  2. Simple...just to clear the screen....It does the same function like clrscr() in C language

    ReplyDelete