2016-08-03 19 views
2

Ich möchte den Wert des ersten Elements in meinem Vektor (der auf 1 gesetzt ist) in diesem Fall ändern, indem ich 1 hinzufügen - aber auch, andere, kompliziertere Arithmetik. hier ist der Code:Ändern Sie den Wert eines Vektorelements

************************************************************* 
      IDENTIFICATION DIVISION. 
      PROGRAM-ID. YOUR-PROGRAM-NAME. 
      DATA DIVISION. 
      FILE SECTION. 
       WORKING-STORAGE SECTION. 
       01 TABLE1. 
        05 BERN PIC 9(1) OCCURS 10 TIMES VALUE 1. 
      PROCEDURE DIVISION. 
      MAIN-PROCEDURE. 
       COMPUTE BERN(1) = BERN(1)+1. 
       DISPLAY TABLE1. 
       STOP RUN. 
      END PROGRAM YOUR-PROGRAM-NAME. 

Das Problem ist, dass es nicht

COMPUTE BERN(1) = BERN(1)+1. 

akzeptiert Was ist der richtige Weg, es zu tun?

+2

Warum alles gegeneinander verstauen? Es sieht schäbig aus und ist weniger leicht zu ändern. 'COMPUTE BERN (1) = BERN (1) + 1'. Dort. Das wird kompilieren. Beachten Sie den Vorschlag zum 'ADD'. Viel beschreibender hier. Sehen Sie sich hier auch einen Kommentar zu den Punkten/Punkten in der PROCEDURE DIVISION mit COBOL nach 1985 an. Beachten Sie auch den Kommentar zu "Funktioniert VALUE 1 dort?". Sie möchten diese Art von Kommentaren nie hören, wenn sich jemand ein Handbuch ansehen muss, um Ihren Code zu verstehen. Also, vereinfachen. –

+0

Sie haben das Problem mit Ihrem Tisch in der Benoulli-Frage bemerkt? –

+0

Ja @BillWoodger Ich tat, das Problem war: Die Variable RES und die Vektorelementvariablen - sie wurden mit "N" übergelaufen immer größer ... Willst du, dass ich diese Frage lösche? –

Antwort

3
COMPUTE BERN(1) = BERN(1) + 1 

Sie vermissen die Räume. Ich habe mit GnuCOBOL auf OpenCobolIDE überprüft, es funktioniert mit den Leerzeichen, und kompiliert nicht ohne.

Das gesagt, eine gute alte ADD 1 TO BERN(1) sollte auch funktionieren.

+0

Ha. Während ich meinen Kommentar eintippte ... warum sollte ich mich für den Abstand entscheiden? –

+0

Es wurde gelöst, sobald ich den Abstand verwendet –

+0

@ BillWoodger: Nun, ich konzentrierte mich auf die Frage. Wenn es Code Review wäre, wäre ich viel ausführlicher gewesen. Abstand, wie Sie gesagt haben, aber auch Punkte im Übermaß. Und der Mangel an Lesbarkeit der VALUE nach der OCCURS (es funktioniert, zu meiner Überraschung) – gazzz0x2z