Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Ajuda com vetores


Giza

Pergunta

Olá,

Estou precisando muito de ajuda para poder estudar, faço os programas com vetores, leio vetor 1 leio o vetor 2...ok..no entanto quando chega na hora de por exemplo: comparar os dois vetores para formar o vetor 3 somente com os elementos que não se repetem, não consigo entender a lógica, sei que preciso para isso comparar o primeiro elemento com todos, o segundo elemento com todos....e assim por diante...

Não sei a lógica na hora do for comparação....

exemplo:

for(ind1=0;ind1<10;ind1++){
   printf("Informe o elemento numero %i do conjunto 1: \t", ind1+1);
   scanf("%i", &vet1[ind1]);
  
}
printf("\n");

for(ind2=0;ind2<10;ind2++){
   printf("Informe o elemento numero %i do conjunto 2: \t", ind2+1);
   scanf("%i", &vet2[ind2]);
}

como faço para comparar os dois e achar o vet3[10]????

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

vet3[10] pelo jeito não existe.

Você deve ter declarado assim : "int vet3[10]", onde o conteúdo do Array (10) se refere aos elementos que vem de 0 à 9. (10 termos), logo vet3[10] não existe.

unsigned short int aux=0,aux2=0;
for(int i = 0; i < 10; i++)
{
for(int j = 0; j < 10; j++)
{
if(aux2<10)
{
if(vet1[i]!=vet2[j]) aux++;
if(aux==10){ vet3[aux2] = vet1[i]; aux=0; aux2++;
}
}
for(int j = 0; j < 10; j++)
{
if(aux2<10)
{
if(vet2[i]!=vet1[j]) aux++;
if(aux==10){ vet3[aux2] = vet2[i]; aux=0; aux2++;
}
}
}

Acho que deve ser algo mais ou menos assim, eu não testei. Mas tem um negócio, há a possibilidade de todos os elementos de vet1[] e vet2[] serem diferentes, isso daria 20 elementos. Mas eu limitei meu programa pra contar só os 10 primeiros.

[]'s

Link para o comentário
Compartilhar em outros sites

  • 0

Claro...vet3[] talvez tenha mais que dez elementos.....afinal estamos lendo 20 elementos...não havia pensado nisso, logo teria então que declarar vet3[20] ou seja, sempre com o maximo de possibilidades?!

Quer dizer então que sempre vou precisar usar uma variavel auxiliar para fazer a comparação entre dois vetores?

Link para o comentário
Compartilhar em outros sites

  • 0
Claro...vet3[] talvez tenha mais que dez elementos.....afinal estamos lendo 20 elementos...não havia pensado nisso, logo teria então que declarar vet3[20] ou seja, sempre com o maximo de possibilidades?!

Sim e não. Depende da finalidade do programa No caso desse programa eu fiz assim, mas há outra interpretação. Caso o programa se refira a uma função, devemos considerar somente a relação que vai do domínio até a imagem (A -> B ), Nesse caso o vet3[] teria no máximo tamanho 10.

Quer dizer então que sempre vou precisar usar uma variavel auxiliar para fazer a comparação entre dois vetores?

É claro que não, depende da finalidade do programa. Existem muitas funções que fazem comparações entre vetores. Exp: strcmp (Comparação de Strings, para ordenação alfabética). Sem falar que eu usei de uma lógica bobinha, você pode aprimorá-la e fazer uma lógica bem melhor que a minha.

Editado por Badawah
Link para o comentário
Compartilhar em outros sites

  • 0

hum...estou iniciando em programaçao, acho que até agora só usei de lógica bobinha.....

é verdade..já estudei algumas funçoes especiais de strings....

bom, tenho prova amanha, vou tentar fazer mais alguns programinhas para fixar.

Agradeço pela ajuda.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...