Advertisement
wagner-cipriano

Copiar um vetor inteiro em C++

Jun 19th, 2020
1,973
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.33 KB | None | 0 0
  1. //COPIAR UM VETOR
  2. #include <iostream>
  3. using namespace std;
  4.  
  5. void leVetor (int v[], int n);
  6. void imprimiVetor (int v[], int n, bool inv);
  7.  
  8. int main () {
  9.   setlocale(LC_ALL, "Portuguese");
  10.   //Tamanho e declaração do vetor
  11.   int n;
  12.   cout << "Informe o tamanho do vetor: ";
  13.   cin >> n;
  14.   int v[n], vcp[n];
  15.  
  16.   //Alimentar a lista
  17.   cout << "Vamos alimentar os dados do vetor v[" << n << "]\n";
  18.   leVetor(v, n);
  19.  
  20.   //Copiar o vetor
  21.   int len = sizeof(v) / sizeof(v[0]);  //v[0]
  22.   copy(v, v+len, vcp);
  23.   //
  24.  
  25.   //Alteração no vetor de origem v não vai afetar vetor de destino vcp
  26.   v[len-1] = 999999;
  27.  
  28.   /*Imprimir valor dos itens da lista*/
  29.   cout << "\nOs valores originais do vetor (COM ALTERAÇÃO NA ULTIMA POSIÇÃO) são:\n";
  30.   imprimiVetor(v, n, false);
  31.  
  32.   cout << "\nOs valores do vetor copiado antes da alteração(vcp):\n";
  33.   imprimiVetor(vcp, n, false);
  34.  
  35.   return 0;
  36. }
  37.  
  38. /*Ler o vetor*/
  39. void leVetor (int v[], int n) {
  40.     for(int i=0; i<n; i++) {
  41.         cout << "  v[" << i << "]: ";
  42.         cin >> v[i];
  43.     }
  44.     cout << endl;
  45. }
  46.  
  47. /*Imprimir valor dos itens da lista*/
  48. void imprimiVetor(int v[], int n, bool inv=false) {
  49.     int i;
  50.     if(inv)
  51.       for(i=n-1; i>=0; i--)
  52.           cout << " " << v[i];
  53.     else
  54.       for(i=0; i<n; i++)
  55.           cout << " " << v[i];
  56.     cout << endl;
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement