Transformar um nome

De GNU Octave
Revisão em 16h54min de 21 de janeiro de 2013 por Jgrocha (Discussão | contribs)

(dif) ← Revisão anterior | Revisão atual (dif) | Revisão seguinte → (dif)
Ir para: navegação, pesquisa

Ler um nome completo, e depois escrevê-lo da seguinte forma: apelido, resto do nome

# vamos ler o nome, que fica guardado num vetor
nome = input('Diga o seu nome, sff', 's');
# isspace diz se é espaço ou não
# find dá as posições dos espaços
# apelido vai do último espaço+1 até ao fim
apelido = nome(find(isspace(nome))(end)+1:end)
# o nome próprio vai do 1 até ao último espaço-1
proprio = nome(1:find(isspace(nome))(end)-1)
resultado = [apelido ', ' proprio];
disp(resultado);

O mesmo programa, mas de uma forma mais sucinta:

nome = input('Diga o seu nome, sff', 's');
disp( [nome(find(isspace(nome))(end)+1:end) ', ' nome(1:find(isspace(nome))(end)-1)] );