Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdlib>
- #include <ctime>
- using namespace std;
- void wypisz(int*, int);
- int* zmien_rozmiar(int* tablica, int n, int k)
- {
- if(n == k)
- return tablica;
- int* temp; // tablica tymczasowa
- // zwiekszanie tablicy
- if(k > n)
- {
- temp = new int[n];
- // kopiowanie danych do tymczasowej tablicy
- for(int i = 0; i < n; ++i)
- temp[i] = tablica[i];
- // kasowanie dotychczasowej tablicy
- delete[] tablica;
- // tworzenie nowej tablicy o rozmiarze k
- tablica = new int[k];
- for(int i = 0; i < k; ++i)
- if(i < n)
- tablica[i] = temp[i];
- else
- tablica[i] = 0;
- delete[] temp;
- return tablica;
- }
- // zmniejszenie tablicy
- else
- {
- temp = new int[k];
- // kopiowanie danych do tablicy tymczasowej
- for(int i = 0; i < k; ++i)
- temp[i] = tablica[i];
- // kasowanie dotychczasowej tablicy
- delete[] tablica;
- // tworzenie nowej
- tablica = new int[k];
- // kopiowanie
- for(int i = 0; i < k; ++i)
- tablica[i] = temp[i];
- // kasowanie tymczasowej
- delete[] temp;
- return tablica;
- }
- }
- void wypelnij(int* tablica, int n)
- {
- // wypelnienie tablicy losowymi liczbami
- srand(static_cast<unsigned>(time(nullptr)));
- for(int i = 0; i < n; ++i)
- tablica[i] = rand() % 100 + 1;
- }
- void wypisz(int* tablica, int n)
- {
- for(int i = 0; i < n; ++i)
- cout << tablica[i] << " ";
- cout << endl;
- }
- int main()
- {
- int n;
- cout << "Podaj rozmiar tablicy: ";
- cin >> n;
- int* tablica = new int[n];
- wypelnij(tablica,n);
- wypisz(tablica,n);
- int k = n + 5;
- tablica = zmien_rozmiar(tablica, n, k);
- wypisz(tablica, k);
- delete[] tablica;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement