Find Maximum, Minimum, Total and Average from values in a Erlang list using Recursiveness
-module(summery_functions). -export([start/1]). start([Head|Tail]) -> maximum(Head,Tail), minimum(Head,Tail), total(Head,Tail), avg(Head,Tail,1). maximum (Head,[Head2|Tail2]) -> if
Head < Head2 -> maximum(Head2,Tail2); true -> maximum(Head,Tail2) end; maximum (Head,[]) -> io:format("Maximum ~p ~n",[Head]). minimum(Head,[Head2|Tail2]) -> if
Head > Head2 -> minimum(Head2,Tail2); true ->
minimum(Head,Tail2) end; minimum (Head,[]) -> io:format("Minimim ~p ~n",[Head]). total(Total,[Head|Tail]) -> total(Total+Head,Tail); total(Total,[]) -> io:format("Total ~p ~n",[Total]). avg(Total,[Head|Tail],Count) -> avg(Total+Head,Tail,Count+1); avg(Total,[],Count) -> io:format("Average is ~p ~n",[Total/Count]).
Labels: average, erlang, list, maximum, minimum, pattern matching, recursive, sum, total

0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home