Skip to content

Commit c85f61a

Browse files
committed
Fix syntax in binarysearch program
Adjusted the bAdded a missing comma in a procedure call, changed function calls to use () instead of :, specifed a fixed size for the local array variable declaration, and corrected the assignment operator from "=" to ":=".
1 parent e25a81d commit c85f61a

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

dana/programs/binarysearch.dana

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@ def main
1111
i := i + 1
1212
swap: arr[i], arr[j]
1313
j := j + 1
14-
swap: arr[i+1] arr[high]
14+
swap: arr[i+1], arr[high]
1515
return: (i+1)
1616

1717
def quicksort: arr as int [], low high as int
1818
var pi is int
1919
if low < high:
20-
pi := (partition: arr, low, high)
20+
pi := partition(arr, low, high)
2121
quicksort: arr, low, (pi - 1)
2222
quicksort: arr, (pi + 1), high
2323

@@ -40,7 +40,7 @@ def main
4040
high := mid - 1
4141
return: -1
4242

43-
var nums is int []
43+
var nums is int [100]
4444
var size k find is int
4545
k := 0
4646
writeString: "Give size of array: "
@@ -50,7 +50,7 @@ def main
5050
loop:
5151
if k <= size:
5252
nums[k] := readInteger()
53-
k = k + 1
53+
k := k + 1
5454
else:
5555
nums[k] := '\0'
5656
break
@@ -62,4 +62,4 @@ def main
6262
find := readInteger()
6363
writeString: "\n"
6464
writeString: "Value is: "
65-
writeInteger: (binarySearch: nums, 0, (size - 1), find)
65+
writeInteger: (binarySearch( nums, 0, (size - 1), find))

dana/programs/powint.dana

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ def main
99
result := 1
1010
else:
1111
if exp % 2 = 0:
12-
powint: base, exp / 2, mod, temp # SEMANTIC ERROR: temp is not a ref variable but being passed to a ref parameter
12+
powint: base, exp / 2, mod, temp
1313
result := (temp * temp) % mod
1414
else:
15-
powint: base, exp - 1, mod, temp # SEMANTIC ERROR: temp is not a ref variable but being passed to a ref parameter
15+
powint: base, exp - 1, mod, temp
1616
result := (base * temp) % mod
1717

1818
var b is int

0 commit comments

Comments
 (0)