Diferenças entre edições de "Transformar um nome"
De GNU Octave
(Criou nova página com 'Ler um nome completo, e depois escrevê-lo da seguinte forma: apelido, resto do nome') |
|||
(Há uma edição intermédia do mesmo utilizador que não estão a ser apresentadas) | |||
Linha 1: | Linha 1: | ||
Ler um nome completo, e depois escrevê-lo da seguinte forma: | Ler um nome completo, e depois escrevê-lo da seguinte forma: | ||
apelido, resto do nome | apelido, resto do nome | ||
+ | |||
+ | <syntaxhighlight> | ||
+ | # 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); | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | O mesmo programa, mas de uma forma mais sucinta: | ||
+ | |||
+ | <syntaxhighlight> | ||
+ | nome = input('Diga o seu nome, sff', 's'); | ||
+ | disp( [nome(find(isspace(nome))(end)+1:end) ', ' nome(1:find(isspace(nome))(end)-1)] ); | ||
+ | </syntaxhighlight> |
Edição atual desde as 15h54min de 21 de janeiro de 2013
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)] );