Buscar

Faça um programa na linguagem C/C++ que declare três vetores de inteiros, denominados V1, V2 e V3, ambos de tamanho n (valor informado pelo usuário...

Faça um programa na linguagem C/C++ que declare três vetores de inteiros, denominados V1, V2 e V3, ambos de tamanho n (valor informado pelo usuário) por meio da alocação dinâmica, e três ponteiros do tipo inteiro, denominados pt1, pt2 e pt3. Preencha os vetores V1 e V2 com valores inteiros informados pelo usuário e faça com que o ponteiro pt1 aponte para o vetor V1 e o ponteiro pt2 aponte para o vetor V2. A seguir, calcule a soma dos dois vetores V1 e V2, acessando os valores apenas por meio dos ponteiros pt1 e pt2, e armazene o resultado no vetor V3 por meio do ponteiro pt3. Por fim, mostre os valores do vetor V3 e desaloque os três vetores.

O programa em C/C++ declara três vetores de inteiros, V1, V2 e V3, de tamanho n, por meio da alocação dinâmica.
O programa preenche os vetores V1 e V2 com valores inteiros informados pelo usuário.
O programa faz com que o ponteiro pt1 aponte para o vetor V1 e o ponteiro pt2 aponte para o vetor V2.
O programa calcula a soma dos dois vetores V1 e V2, acessando os valores apenas por meio dos ponteiros pt1 e pt2.
O programa armazena o resultado da soma dos vetores V1 e V2 no vetor V3 por meio do ponteiro pt3.
O programa mostra os valores do vetor V3 e desaloca os três vetores.
a) Todas as afirmativas estão corretas.
b) Apenas as afirmativas 1, 2, 3 e 5 estão corretas.
c) Apenas as afirmativas 2, 3, 4 e 5 estão corretas.
d) Apenas as afirmativas 1, 2, 4 e 6 estão corretas.
e) Apenas as afirmativas 3, 4, 5 e 6 estão corretas.

Essa pergunta também está no material:

Programa em C/C++ para soma de vetores por alocação dinâmica
3 pág.

💡 1 Resposta

User badge image

Gustavo Pereira

Este programa permite ao usuário definir o tamanho dos vetores V1, V2 e V3, alocá-los dinamicamente e preencher os vetores V1 e V2 com valores informados pelo usuário. Em seguida, o programa define os ponteiros pt1 e pt2 para apontar para os vetores V1 e V2, calcula a soma dos vetores V1 e V2, armazena o resultado no vetor V3 por meio do ponteiro pt3 e, por fim, mostra os valores do vetor V3.

Note que, em vez de acessar os valores dos vetores V1 e V2 diretamente pelo nome do vetor, o programa acessa os valores por meio dos ponteiros pt1 e pt2. Isso permite que o programa seja mais flexível e reutilizável, já que é possível alterar facilmente os vetores que os ponteiros apontam sem precisar modificar o código que calcula a soma dos vetores.


#include 
#include 


int main() {
  int n;


  // solicita o tamanho dos vetores
  printf("Digite o tamanho dos vetores: ");
  scanf("%d", &n);


  // aloca os vetores dinamicamente
  int* V1 = (int*) malloc(n * sizeof(int));
  int* V2 = (int*) malloc(n * sizeof(int));
  int* V3 = (int*) malloc(n * sizeof(int));


  // preenche os vetores V1 e V2 com valores informados pelo usuário
  printf("Digite os valores para o vetor V1: ");
  for (int i = 0; i < n; i++) {
    scanf("%d", &V1[i]);
  }
  printf("Digite os valores para o vetor V2: ");
  for (int i = 0; i < n; i++) {
    scanf("%d", &V2[i]);
  }


  // define os ponteiros pt1 e pt2 para apontar para os vetores V1 e V2
  int* pt1 = V1;
  int* pt2 = V2;


  // calcula a soma dos vetores V1 e V2 e armazena no vetor V3
  int* pt3 = V3;
  for (int i = 0; i < n; i++) {
    *pt3 = *pt1 + *pt2;
    pt1++;
    pt2++;
    pt3++;
  }


  // mostra o vetor V3
  printf("Vetor V3: ");
  for (int i = 0; i < n; i++) {
    printf("%d ", V3[i]);
  }
  printf("\n");


  // desaloca os vetores
  free(V1);
  free(V2);
  free(V3);


  return 0;
}


0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais