Ir ao conteúdo
  • Cadastre-se

C questão envolvendo subtração e intersecção de vetores


victornunes139

Posts recomendados

Bom,eu preciso da ajuda de vocês,por favor!;)

 

QUESTÃO--> Ler dois vetores de números e gerar um terceiro vetor formado pela DIFERENÇA dos dois vetores lidos.O resultado da diferença de dois conjuntos é: os elementos do conjunto A que não fazem parte do conjunto B

***********************************************************************************

Eu pensei em fazer o seguinte..Fazer um vetor formado pela diferenca entre os elementos dos dois vetores,depois disso eu iria comparar ele com o vetor B,em que aquelas numeros que fossem iguais eu iria excluí-los,em que o resultado final disso seria atribuido a outro vetor.Depois disso,eu iria comparar,agora,o vetor final com o vetor A,e iria imprimir aquele que apenas se repetem.

 

P.S: eu consegui fazer até a parte da diminuição entre o vetor A e B,deu certo,pois tentei imprimi-lo.Agora,para tentar comparar ele com o vetor B e retirar aqueles que se repetem,ficou dando erro,e eu não achei-o.Eu vou enviar meu código até a parte do vetor da subtração,pois se eu enviasse o que deu meu erro ,complicaria mais porque são mts variáveis e vetores.

#include<stdlib.h>
#include<stdio.h>
#include<math.h>
#include<locale.h>

main()
{
    int np,i,k,ns,nt,l,m,nq;
    m=0;
    k=0;
    printf("\nDigite o tamanho do primeiro vetor: ");
    scanf("%d",&np);
    int primeiro[np];
    for(i=0;i<np;i++)
    {
        printf("digite o dado %d: ",i+1);
        scanf("%d",&primeiro);
    }
    system("cls");
    //////////////////////////////////////////
    printf("\nDigite o tamanho do segundo vetor: ");
    scanf("%d",&ns);
    int segundo[ns];
    for(i=0;i<ns;i++)
    {
        printf("digite o dado %d: ",i+1);
        scanf("%d",&segundo);
    }
    system("cls");
    ///////////////////////////////////////////
    nt=np*ns;
    int terceiro[nt];
    for(i=0;i<np;i++)
    {
    for(l=0;l<ns;l++)
    {
        if(primeiro>segundo[l])
        {
            terceiro[k]=primeiro-segundo[l];
            k++;
        }
        if(segundo[l]>primeiro)
        {
            terceiro[k]=segundo[l]-primeiro;
            k++;
        }
    }
    } 

 

***************************************************************************

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@victornunes139    você pode fazer isso usando três vetores,  e depois compara o vetor primeiro com todo o segundo para ver se o número é diferente se for então coloca ele no vetor terceiro na posição e passa para a próxima posição.    e quando você for postar use o botão   <>   que está lá na barra de ferramentas da janela de responder, pois sem isso seu código fica sem algum caracteres .

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 comunidades 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

×
×
  • Criar novo...