MeehoweCK

Untitled

Oct 16th, 2020
848
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.55 KB | None | 0 0
  1. #include <iostream>
  2. #include <ctime>
  3. #include <cstdlib>
  4.  
  5. using namespace std;
  6.  
  7. int main()
  8. {
  9.     int rozmiar;
  10.     srand(time(nullptr));
  11.     cout << "Podaj rozmiar tablicy: ";
  12.     cin >> rozmiar;
  13.     int* tablica = new int[rozmiar];
  14.  
  15.     for(int i = 0; i < rozmiar; ++i)
  16.     {
  17.         tablica[i] = rand() % 100 + 1;
  18.         cout << tablica[i] << '\t';
  19.     }
  20.     cout << endl;
  21.  
  22.     // zwiększamy rozmiar tablicy o 5. Dotychczasowe wartości muszą być zachowane, nowe elementy tablicy są równe 0
  23.     // 1. tworzymy nową (tymczasową) tablicę dynamiczną o rozmiarze dotychczasowej
  24.     // 2. zawartość dotychczasowej tablicy kopiujemy do nowej
  25.     // 3. zwalniamy pamięć dotychczasowej tablicy
  26.     // 4. na miejsce dotychczasowej tablicy tworzymy nową, o nowym rozmiarze
  27.     // 5. zawartość tablicy tymczasowej kopiujemy do nowej
  28.     // 6. zwalniamy pamięć tymczasowej tablicy
  29.     // 7. przypisujemy wartości nowym elementom z nowej tablicy
  30.  
  31.     // 1.
  32.     int* temp = new int[rozmiar];
  33.  
  34.     // 2.
  35.     for(int i = 0; i < rozmiar; ++i)
  36.         temp[i] = tablica[i];
  37.  
  38.     // 3.
  39.     delete[] tablica;       // zwolnienie pamięci
  40.  
  41.     // 4.
  42.     tablica = new int[rozmiar + 5];
  43.  
  44.     // 5.
  45.     for(int i = 0; i < rozmiar; ++i)
  46.         tablica[i] = temp[i];
  47.  
  48.     // 6.
  49.     delete[] temp;
  50.  
  51.     // 7.
  52.     for(int i = rozmiar; i < rozmiar + 5; ++i)
  53.         tablica[i] = 0;
  54.  
  55.     rozmiar += 5;
  56.  
  57.     for(int i = 0; i < rozmiar; ++i)
  58.     {
  59.         cout << tablica[i] << '\t';
  60.     }
  61.  
  62.     delete[] tablica;
  63.  
  64.     return 0;
  65. }
Advertisement
Add Comment
Please, Sign In to add comment