Bom, eu achei que o algoritmo usado é meio confuso, pois confunde os espaços com 0, por isso estou postando este outro que achei nesse site http://www.unibratec.com.br/jornadacientifica/diretorio/NOVOB.pdf