Bookstore

 Computer Math and Games in Pascal (preview) Lazarus Handbook

Author Topic: error in my code  (Read 249 times)

homojavanicus

• Newbie
• Posts: 4
error in my code
« on: March 25, 2020, 10:51:00 am »
hi

I writing code, and I encounter some errors. I don't understand what these error means. I would be thankful to anyone who could help me solve and understand these errors.

these are the error codes:

Compiling trashprogram#2.pas
trashprogram#2.pas(18,32) Error: Fields cannot appear after a method or property definition, start a new visibility section first
trashprogram#2.pas(27,2) Error: Wrong number of parameters specified for call to "pangkat"
trashprogram#2.pas(18,11) Error: Found declaration: pangkat(SmallInt;SmallInt);
trashprogram#2.pas(33,45) Error: Operator is not overloaded: "untyped" + "untyped"

this is the code
Code: Pascal  [Select]
1. program trashprogram2;
2.
3.
4. var
5.         siswa: array[1..2,1..1000] of shortint;
6.         D, N,i,max,min,j : integer;
7.         temp: longint;
8.
9. function abs_(x: integer) : integer;
10. begin
11.         if (x < 0) then begin
12.                 abs_:=-1*x
13.         end else begin
14.                 abs_:=x;
15.         end;
16. end;
17.
18. procedure pangkat(x,y: integer): longint;
19. var
20.         temp: longint;
21.         j: shortint;
22. begin
23.         temp:=1;
24.         for j:=1 to y do begin
25.                 temp:=temp*x;
26.         end;
27.         pangkat:=temp;
28. end;
29.
30. function T(i,j: integer) : longint;
31.
32. begin
33.         T:=pangkat(abs_(siswa[1][i]-siswa[1][j]),D)+pangkat(abs_(siswa[2][i]-siswa[2][j]),D)
34. end;
35.
36. begin
38.         for i:=1 to N do begin
40.         end;
41.         max:=T(1,2);
42.         min:=T(1,2);
43.         for i:=1 to N do begin
44.                 for j:=1 to N do begin
45.                         if (i=j) then continue;
46.                         temp:=T(i,j);
47.                         if(temp>max) then begin
48.                                 max:=temp;
49.                         end else if (temp<min) then min:=temp;
50.                 end;
51.         end;
52.         writeln(min,' ', max);
53. end.
footnote:
fpc version 3.0.4
Lazarus ver: sorry idk

Ñuño_Martínez

• Hero Member
• Posts: 976
Re: error in my code
« Reply #1 on: March 25, 2020, 11:11:21 am »
See line 18:

Code: Pascal  [Select]
1. procedure pangkat(x,y: integer): longint;

You declared pangkat as a procedure and gave it a type, so compiler is confused: Procedures don't have types!  Reading your code I think it should be a function.
« Last Edit: March 25, 2020, 11:13:15 am by Ñuño_Martínez »
Are you interested in game programming? Join the Pascal Game Development community!
Also visit the Game Development Portal

homojavanicus

• Newbie
• Posts: 4
Re: error in my code
« Reply #2 on: March 27, 2020, 06:48:35 am »
thank you it worked