Ir ao conteúdo
  • Cadastre-se

YgorCFR

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Reputação

1
  1. Boa tarde, poderiam me ajudar com uma questão relacionada à alocação dinâmica com união de dois vetores? Esta é a questão: 2) Considere dois vetores de inteiros organizados em ordem crescente. Dentro de cada vetor não há valores repetidos, mas entre eles pode haver coincidências de valores. Por exemplo, v1 = {1, 3, 5, 9, 12, 16, 23} e v2 = {1, 2, 6, 7, 9, 15, 21, 25}. Escreva uma função que crie um novo vetor contendo o conjunto de números inteiros definido pela união dos dois conjuntos originais, também em ordem crescente. Por exemplo, o vetor u = {1, 2, 3, 5, 6, 7, 9, 12, 15, 16, 21, 23, 25} corresponde à união de v1 e v2. A função recebe como parâmetros o ponteiro e o tamanho de cada vetor e ponteiro p. A função deve alocar dinamicamente o novo vetor, armazenar o seu tamanho na variável apontada por p e retornar o ponteiro para o início do vetor. O protótipo da função é: int* uniao(int* v1, int n, int* v2, int m, int *p); A solução que eu achei e criei foi: #include <stdio.h> #include <stdlib.h> int* uniao(int* v1, int n, int* v2, int m, int *p){ int i, j, cont; for(i = 0; i<n;++i){ for(j=0;j<m;++j){ if(v1!= v2[j]) cont++; } } int x = cont + n; int *uniao; uniao = (int*)malloc(x*sizeof(int)); int z=0; for(i=0; i<n;++i){ for(j=0;j<m;++j){ while(z<x){ v1= uniao[z]; z++; v2[j] = uniao[z]; } } } *p = x; return p; } int main(){ int n, m; printf("Digite o valor de n e m: \n"); scanf("%d %d", &n, &m); int i, j; int v1[n], v2[m]; for(i=0;i<n;++i){ printf("Elemento %d: \n",i); scanf("%d", &v1); } for(j=0;j<m;++j){ printf("Elemento %d: \n", j); scanf("%d", &v2[j]); } int *p; int* unir = uniao(v1,n,v2,m,p); printf("A uniao tera tamanho de %d", unir); return 0; } */ Mesmo compilando, o programa dá erro durante a execução após a entradas dos valores nos dois vetores, poderiam me ajudar?

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!