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

Vetores comuns entre dois vetores


victorinorj

Pergunta

Estou criando um codigo que quando entro com o primeiro valor o executavel trava. Podem me ajudar.

Meu trabalho:

Dados dois vetores de números inteiros,R[0:4] e S[0:9], escreva um

programa que leia os vetores e:

a. gere vetor Y com os elementos comuns de R e S.

b. gere vetor Z com os elementos de R que não estão em S.

#include<stdio.h>

int vetor_R[5], vetor_S[10],vetor_Y[10],vetor_X[10],i;

int main()
{
for (i = 0; i < 5; i++)
vetor_X[i]=vetor_R[i];
printf("Digite um numero: ");
scanf("%d", &vetor_R);
for (i = 0; i < 10; i++)
vetor_X[i+5]=vetor_S[i];
printf("Digite um numero: ");
scanf("%d", &vetor_S);
}

Dados dois vetores de números inteiros,R[0:4] e S[0:9], escreva um

programa que leia os vetores e:

a. gere vetor Y com os elementos comuns de R e S.

b. gere vetor Z com os elementos de R que não estão em S.

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0

O seu código está com vários erros. Vou começar o código pra você:

#include<stdio.h>

#define TAM_VETOR_R 5
#define TAM_VETOR_S 10

int main()
{
    //Variáveis
    int vetor_R[TAM_VETOR_R], vetor_S[TAM_VETOR_S];
    int i;
    //Preenchemos o vetor R
    printf("Preenchemos o vetor R\n");
    for (i = 0; i < TAM_VETOR_R; i++){
        printf("\tDigite um numero: ");
        scanf("%d", vetor_R+i);
    }
    //Preenchemos o vetor S
    printf("Preenchemos o vetor S\n");
    for (i = 0; i < TAM_VETOR_S; i++){
        printf("\tDigite um numero: ");
        scanf("%d", vetor_S+i);
    }
}

O código acima serve apenas para preencher os vetores R e S. Para os outros vetores seria interessante que você tivesse conhecimento de alocação dinâmica, para que não precisasse saber de antemão o tamanho desses vetores.

Você sabe como funciona a função realloc ?

Link para o comentário
Compartilhar em outros sites

  • 0

Jonathan,

Obrigado.

Estou tentando criar um segundo vetor para guardar os dados iguais nos vetores R e S. Mais ta dando erro.

Veja se pode me ajudar?

int main()
{
    //Variáveis
    int vetor_R[TAM_VETOR_R], vetor_S[TAM_VETOR_S];
    int vetor_Y[1];
    int i;
    //Preenchemos o vetor R
    printf("Preenchemos o vetor R\n");
    for (i = 0; i < TAM_VETOR_R; i++){
        printf("\tDigite um numero: ");
        scanf("%d", vetor_R+i);
    }
    //Preenchemos o vetor S
    printf("Preenchemos o vetor S\n");
    for (i = 0; i < TAM_VETOR_S; i++){
        printf("\tDigite um numero: ");
        scanf("%d", vetor_S+i);
    }
}
for (i=0; i<R;i++)
{
if (vetor_R[i]==vetor_S[i])
{
vetor_Y[i]=vetor_R[i];
}
}
return vetor_Y;
}

Link para o comentário
Compartilhar em outros sites

  • 0

Estou fazendo o mesmo código aqui, e já resolvi a primeira parte, segue:

#include <stdio.h>
#include <conio.h>

int main(void)
{
  int i,j,k,h=0;
  int R[5],S[10],Y[15],Z[15];

  for (i=0; i<4; i++)
    {
        printf("Entre com o %i elemento do vetor R: ", i+1);
        scanf("%i",&R[i]);
    }
  for (j=0; j<10; j++)
    {    
        printf("Entre com o %i elemento do vetor S: ", j+1);
        scanf("%i",&S[j]);
    }
  for (i=0; i<5; i++)
    {
      for (j=0; j<10; j++)
        {
          if (R[i] == S[j]) 
          {
              Y[h] = S[j];
              h++;
          }

        }
    }
  
  k=h;

  for (h=0; h<k; h++)
  printf("\n%i",Y[h]);

}

Mas a segunda parte tá me deixando de cabelo em pé, já virei noite tentando fazer, mas não consigo, alguém pode me ajudar?

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

  • 0

Victor, eu ainda não sei como seria, pois estou tentando fazer também, se alguém souber como faz, por favor avise, um carinha me passou esse código, mas ele não tá trazendo os resultados esperados:

h = 0;
for (i=0; i<5; i++)
{
for (j=0; j<5; j++)
{
if (R[i] == Y[j]) 
{
break;//encontrou, vamos ao proximo
} 
}
// se j percorreu o vetor todo é porque não encontrou, logo guardamos
if(j == 5)
{
Z[h++] = R[i];
}
}

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,4k
×
×
  • Criar Novo...