Exactly three adjacent 3 in lists
{Draft task}}
- Task
- Let given 5 lists of ints:
list[1] = [9,3,3,3,2,1,7,8,5]
list[2] = [5,2,9,3,3,7,8,4,1]
list[3] = [1,4,3,6,7,3,8,3,2]
list[4] = [1,2,3,4,5,6,7,8,9]
list[5] = [4,6,8,7,2,3,3,3,1]
Print 'true' if the value '3' appears in the list exactly 3 times and they are adjacent ones otherwise print 'false'.
Ring
<lang ring> see "working..." + nl
list = List(5) list[1] = [9,3,3,3,2,1,7,8,5] list[2] = [5,2,9,3,3,7,8,4,1] list[3] = [1,4,3,6,7,3,8,3,2] list[4] = [1,2,3,4,5,6,7,8,9] list[5] = [4,6,8,7,2,3,3,3,1]
for n = 1 to 5
strn = list2str(list[n]) cnt = count(strn,"3") if cnt = 3 for m = 1 to len(list[n])-2 if list[n][m] = 3 and list[n][m+1] = 3 and list[n][m+2] = 3 flag = 1 exit ok next else flag = 0 ok if flag = 1 see "" + n + " true" + nl else see "" + n + " false" + nl ok
next
see "done..." + nl
func count(cString,dString)
sum = 0 while substr(cString,dString) > 0 sum++ cString = substr(cString,substr(cString,dString)+len(string(sum))) end return sum
</lang>
- Output:
working... 1 true 2 false 3 false 4 false 5 true done...