Activity assignment 1
Jump to navigation
Jump to search
Activity assignments
Implement following functions. There will be 5 points for each of these functions.
- Create a function that gets a list of tuples -
[(Int, Char)]. This function takes these pairs and for each of these pairs(n, a)generates a string where the characterais multipliedntimes. The function result is a concatenation of these sub-strings.
create :: [(Int, Char)] -> String
create [(2,'a'), (3,'B')] = "aaBBB"
- Create a function that takes two strings -
aandb. It will print how many times the stringacontains the stringb.
count :: String -> String -> Int
count "AbcAbcabcAbc" "Abc" = 3
- Create a function that gets a string
lineand a list of pairs -[(Int,Int)]. Each of these pairs contain two indexes (starting from 0) ant it describes a swap between two positions in the original stringline. Function returns the original string where all these swaps have been applied.
swapIt :: String -> [(Int,Int)] -> String
swapIt "ABC" [(0,2)] = "CBA"
swapIt "ABCD" [(0,2), (1,3),(0,1),(2,3)] = "DCBA"