Diferenças entre edições de "Transformar um nome"

De GNU Octave
Ir para: navegação, pesquisa
(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)] );