не знаю как там на С++, но коль это алгоритмы - то на javascipt это было бы например так
var str = "login@mail.ru;pass\nlogin2@mail.ru;pass2\nlia@dll:pass3"
var arr = str.split("\n").map(function(x){return x.split(/;|:/)})
т.е. сначала разбить по "\n", получим один массив с мылом и паролем
а потом соотв. каждый такой элемент разбиваем по ":" или ";"