Я хочу считать положительные элементы в списке (VIsual Prolog). Так я написал эту функцию:Пролог: количество положительных элементов в списке
positiveCount([], C).
positiveCount([A], C) :- A > 0, C = C + 1.
positiveCount([H|T], C) :- H > 0,!,C = C+1,positiveCount(T,C); positiveCount(T,C).
Ошибка:
The flow pattern '(o,i)' does not exist for '+' main.pro
как я понял из этой ошибки, я не могу использовать C=C+1
для C в качестве входной переменной.
Любые идеи, как я могу исправить свой код?
Во-первых, вам нужно понять, что, как логическое утверждение, 'C = C + 1' не имеет большого смысла. – repeat