Ir ao conteúdo
  • Cadastre-se
s4lezardv1A

VisualG VISUALG - Exercicio com Vetores

Recommended Posts

Pessoal estou com uma duvida nesse exercicio. Não estou entendendo muito vetores, alguem pode ajudar a resolver? O começo eu ja consegui, o que eu não estou conseguindo é que depois do numero digitado, o programa percorra do inicio ate o final dos vetores para saber se o numero digitado é igual ou não:

 

Faça um algoritmo que leia 10 números e armazene-os em um vetor de 10 posições. Porém, antes de armazenar o número, verifique se ele já não existe no vetor, caso exista mostre uma mensagem de erro ao usuário juntamente com os números que já foram digitados e peça para que o usuário digite um número diferentes dos que já existem.

 

Se alguem puder dar uma verificada no codigo e dizer onde estou errando por favor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro usuário,

 

Seja bem-vindo ao Fórum do Clube do Hardware.

 

No intuito de servir como fonte de pesquisa no caso de instituições de ensino, informamos que incorrer no resolvimento por completo de questões relacionadas a disciplinas escolares de cursos técnicos e faculdades podem ser revistas e removidas pela Equipe de Moderação do Clube do Hardware.

 

Para sanar dúvidas sobre esse tipo de problema, por gentileza, publique o passo a passo do desenvolvimento da questão, projeto, monografia ou conteúdo em dúvida para que possamos analisar se a resposta está correta ou não, ou para que possa ser auxiliado com a dúvida no desenvolvimento do exercício.

 

Infelizmente, não há como resolver os trabalhos pelos usuários. O objetivo do Fórum do Clube do Hardware é auxiliar seus usuários a encontrar soluções para que possam sanar suas dúvidas, e não de trazer soluções prontas para seus usuários.. Além disso, copiar e colar respostas que não são de autoria própria do qualquer usuário é considerado plágio, o que é ilegal.

 

Esperamos que compreenda.

 

Atenciosamente,

Equipe Clube do Hardware

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, nem criar um vetor você sabe? Inicie com o que você sabe, poste o código aqui que vamos te guiar para o caminho certo. Ok?

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim sim vou postar o codigo que eu fiz ate agora, perdão não tinha me informado sobre essa parte. Estou no primeiro semestre de T.I, o codigo que eu fiz ate agora:

=================================================================

Var
   // Seção de Declarações das variáveis
   vNumbers,vNumbers2: vetor[1..10] de inteiro
   counter,counter2,repetido: inteiro

Inicio
   // Seção de Comandos, procedimento, funções, operadores, etc...
   Para counter de 1 ate 10 faca
      escreval("Digite um numero:")
      leia (vNumbers[counter])
      repetido<- vNumbers[counter]





      se vNumbers[counter] = repetido então
      escreval("numero repetido")
      fimse

    fimpara


Fimalgoritmo

===========================================================

 

   

   se vNumbers[counter] = repetido então
      escreval("numero repetido")

 

Esssa comparação que não estou conseguindo, quero que a variavel repetido receba o numero digitado, e ela percorra todo os vetores procurando se tem numero repetido ou não. Acredito que tenha que colocar outro para e reformular a comparação, mas não sei como.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então;

 

Suas variáveis estão muito confusas de entender, seria melhor se colocasse algo mais simples como x e y, segue um exemplo de vetor:

 

Algoritmo "Vetor e laço"
Var
x: vetor [1..10] de inteiro
i,n: inteiro
Inicio
para i de 1 ate 10 faca
escreval ("Escreva o",i ,"º número")
leia (i)
fimpara
Fimalgoritmo

Não fica melhor de entender?

 

Após fazer um laço para ler 10 números, você terá que fazer 2 laços.

Estes laços irão servir para mostrar os números repetidos.

 

Segue o exemplo:

para i de 1 ate 10 faca
para j de i+1 ate 10 faca

 

E no no final, estará que se Y número for igual a X número, então escreva um número que não se repita. 

 

Sou iniciante também, mas pela minha lógica acredito eu que funcione, tente, e se não conseguir, aguarde alguém mais experiente, valeu!

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok vou mudar as variaveis e tentar pensar em alguma coisa dessa forma. Mas colocando esses 2 laços, primeiramente o programa ira permitir que eu digite os 10 numeros, para depois ele mostrar os repetidos e pedir para digitar um novo numero.?

 

Ou permitira com que se eu digitar um numero 10 no indice1 e digitar o numero 10 no indice 3, ele ja peça para digitar um novo numero para o indice 3?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá.


Para adiantar... segue um esboço:
 

// Faça um algoritmo que leia 10 números e armazene-os em um vetor de 10
// posições. Porém, antes de armazenar o número, verifique se ele já não
// existe no vetor, caso exista mostre uma mensagem de erro ao usuário
// juntamente com os números que já foram digitados e peça para que o usuário
// digite um número diferentes dos que já existem.
algoritmo "FCdH"
var
   vNumeros :vetor[1..10] de inteiro
   repetido :inteiro
   contator :inteiro
   i        :inteiro
inicio
para contator de 1 ate 10 faca
   repita
      escreval("Digite",contator,"o número")
      leia(vNumeros[contator])
      repetido <- 0 //inicializa como não repetido
      para i de 1 ate contator-1 faca //do primeiro até o penúltimo número
         se (vNumeros[contator] = vNumeros[i]) ENTÃO //se for igual
            repetido <- 1 //marca como repetido
         fimSe
      fimPara
   ate repetido=0
fimPara
fimAlgoritmo

 

Tente entender a estrutura.. aí veja o que está faltando e implemente.


Qualquer dúvida é só perguntar.

 

No aguardo.

  • Triste 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal consegui. Usei um algoritmo em que tem um laço, leia 10 numero,depois do leia ele tem outro laço, dentro desse laço tem um loop, se o numero digitado for igual a outra variavel peça para digitar novamente. Se não a variavel recebe o numero digitado.

Exemplo:

para counter de 1 ate 10 faca

escreval( "Digite o",counter,"º numero:")
 leia (V[counter])

 para counter1 de 1 ate counter faca
 enquanto (V[counter] =V1[counter1]) faca


 escreval
 escreval
 escreval("Numero ",V[counter]," ja foi digitado como",counter1,"º numero")
 escreval("Digite novamente o ",counter,"° numero.")
 leia (V[counter])
 fimenquanto
 fimpara
 V1[counter1]<-V[counter]

 

a logica principal fica assim, e no resto ele só exibe com outro laço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×