Questão
Enunciado
Implemente um programa que recebe o tamanho N de um vetor A e depois recebe N números inteiros maiores que zero e os armazena no vetor A. Considere que o usuário digitará sempre valores maiores que zero. O programa deve remover os números repetidos trocando-os por zero. Depois o programa deve imprimir os elementos do vetor sem imprimir os com valor igual a zero. Passa essa questão, faça um vídeo explicando como fez a mesma, envie o vídeo para o youtube (como público ou não listado). Depois adicione o link como comentário na sua resposta.
Exemplo de entrada 3 2 1 2
Exemplo de saída 2 1
4 1 1 2
Exemplo de saída 1 2
Para resolver o problema, você pode seguir os seguintes passos em Python:
# Função para remover elementos repetidos
# e substituí-los por zero
def remove_repetidos(vetor):
vistos = set()
resultado = []
for numero in vetor:
if numero in vistos:
resultado.append(0)
else:
vistos.add(numero)
resultado.append(numero)
return resultado
# Função principal para executar o programa
def main():
# Lê o tamanho do vetor
N = int(input("Digite o tamanho do vetor: "))
vetor = []
# Lê os elementos do vetor
for _ in range(N):
numero = int(input())
vetor.append(numero)
# Remove repetidos e substitui por zero
vetor = remove_repetidos(vetor)
# Imprime os elementos não-zero
for numero in vetor:
if numero != 0:
print(numero)
# Executa o programa
if __name__ == "__main__":
main()
Este código lê o tamanho do vetor e os elementos, remove os elementos repetidos substituindo-os por zero, e então imprime apenas os elementos não-zero.
O programa começa lendo o tamanho do vetor e os elementos do vetor. Ele utiliza um conjunto (set
) para rastrear quais números já foram vistos. Se um número já foi visto, ele é substituído por zero no vetor de resultado. Finalmente, o programa imprime apenas os números que não são zero, conforme solicitado no enunciado.