Buscar

ordenação de vetores

Prévia do material em texto

Leia 2 vetores (A e B) de mesma dimensão, no entanto o usuário pode definir o tamanho, 
limitado a 3 posições. Em ambos vetores devem ser armazenados nomes de pessoas, 
posterior a entrada dos dados o algoritmo deve unir ambos e armazenar em um terceiro 
vetor (C). Posteriormente você deve apresentar o vetor A, o Vetor B, e o Vetor C ordenado 
em ordem ALFABETICA. Também deve ser disponibilizado um mecanismo de busca 
que solicita o nome a ser pesquisado informando se o mesmo não existe ou, caso exista, 
exibir sua posição no Vetor C (já ordenado). A pesquisa deve ser encerrada quando for 
digitado o nome NADA. Lembre-se que neste caso a entrada NADA não pode ser uma 
entrada válida nos vetores A e B. 
 
clc; 
clear all; 
% Define o tamanho do vetor (máx 3 posições) 
n = input('Entre com o tamanho do vetor (máx 3 posições): '); 
if n > 3 
 while n > 3 
 n = input('Entre com o tamanho do vetor: '); 
 end 
end 
% Cria os vetores com nomes de pessoas 
for i = 1:n 
 a{i}= input('Entre com o Elemento do Vetor A: ', 's'); 
end 
for i = 1:n 
 b{i}= input('Entre com o Elemento do Vetor B: ', 's'); 
end 
% Cria o vetor C 
for i = 1:n 
 c{i} = a{i}; 
 c{i+n} = b{i}; 
end 
a = sort(a); %ordena o vetor A em ordem alfabética 
b = sort(b); 
c = sort(c); 
 
fprintf('\nVetor A = [ '); 
for i = 1:n 
 fprintf(' %s ', a{i}); 
end 
fprintf(' ]\n'); 
fprintf('\nVetor B = [ '); 
for i = 1:n 
 fprintf(' %s ', b{i}); 
end 
fprintf(' ]\n'); 
fprintf('\nVetor C = [ '); 
for i = 1:n*2 %vetor C tem o dobro de posições de A e B 
 fprintf(' %s ', c{i}); 
end 
fprintf(' ]\n'); 
while 1 
 pesq = input('Digite o nome a ser pesquisado [NADA = encerra]: ','s' ); 
 if strcmp(pesq,'NADA') 
 break; 
 end 
 achou =0; 
 for i = 1:n*2 %pesquisa no vetor C 
 if strcmp(pesq,c{i}) 
 fprintf('O nome %s foi encontrado na %d° posição.\n', c{i},i); 
 achou = 1; 
 end 
 end 
 if (achou == 0) 
 fprintf('O nome %s não foi encontrado.\n', pesq); 
 end

Continue navegando