Buscar

Programa em C/C++ para soma de vetores por alocação dinâmica

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

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

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
Você viu 3, do total de 3 páginas

Prévia do material em texto

ESTRUTURA DE DADOS I
ATIVIDADES DA AULA 02
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. 
#include <iostream>
#include <vector>
using namespace std;
int main()
{
 int n=0;
 cout << "Informe o numero : ";
 cin>>n;
 // declarando inteiros por alocação dinamica
 int *V1 = new int[n];
 int *V2 = new int[n];
 int *V3 = new int[n];
 //validando alocação
 if(*V1==NULL){
 cout<<"Erro de alocação. Finalizando."<<endl;
 return -1;
 }
 if(*V2==NULL){
 cout<<"Erro de alocação. Finalizando."<<endl;
 return -1;
 }
 if(*V3==NULL){
 cout<<"Erro de alocação. Finalizando."<<endl;
 return -1;
 }
 //leitura dos valores
 for(int i=0; i<n; i++)
 {
 cout<<"Informe o numero V1: ";
 cin>>V1[i];
 }
 for(int i=0; i<n; i++)
 {
 cout<<"Informe o numero V2: ";
 cin>>V2[i];
 }
 //declarando e atribuindo valores aos ponteiros
 int *pt1, *pt2, *pt3;
 pt1=V1;
 pt2=V2;
 pt3=V3;
 for(int i=0; i<n; i++)
 {
 *(pt3+i)= *(pt1+i)+*(pt2+i);
 }
 for(int i=0; i<n; i++)
 {
 cout<<"O valor de V3 na posição "<< i <<" é : "<<V3[i]<<endl;
 }
 delete[] V1;
 if(*V1==NULL){
 cout<<"Desalocação com êxito"<<endl;
 }
 delete[] V2;
 if(*V2==NULL){
 cout<<"Desalocação com êxito"<<endl;
 }
 delete[] V3;
 if(*V3==NULL){
 cout<<"Desalocação com êxito"<<endl;
 }
 return 0;
}

Continue navegando