בעיה עם תרגיל בפסקל

ינון בר

New member
בעיה עם תרגיל בפסקל

יש לי תרגיל שבו אני מקבל מערך חד מימדי בעל מספרים וצריך להחליף בין תוכן התאים. אם המערך הוא 1 2 3 4 5 6 7 8 צריך לקבל 8 7 6 5 4 3 2 1 עשיתי את התוכנית הבאה :
program ex1; const n=10; type arrtype=array[1..n] of integer; var a:arrtype; procedure sweep(var a:arrtype); var i,n,temp:integer; begin for i:= 1 to (n div 2) do begin temp:=a; a:=a[n]; a[n]:=temp; n:=n-1; end; end; {sweep} procedure kelet(var a:arrtype); var i,n:integer; begin for i:=1 to n do begin writeln('write a num'); readln(a); end; end; {kelet} begin {main}; kelet(a); sweep(a); end.

כשאני מריץ את זה אז בקלט הוא מבקש ממני 11 מספרים ואח"כ יוצא לחלון של פסקל ונותן לי את error 6 : invalid numeric format. מה הבעיה פה ? ד"א כשאני פותח את זה בתצוגה מקדימה אין הזחות, מוזר Oo. תודה.
 

ש ב ו ז

New member
יש בעיה בפונקציה שמטאטאת.

א. צריך להיות כתוב
a:=a[n-i+1]

ואז
a[n-i+1]:=temp​
אבל הסיבה לטעות הקומפילציה היא
n:=n-1​
אסור לשנות ערך של קבוע (const) .
 
למעלה