#include <bits/stdc++.h>
using namespace std;

// `boyut` yerine belki sizeof ile bir şeyler yapılabilir ama basitlik için böyle yazdım.
void eleman_ekle(int *&dizi, int boyut, int eleman) {
    // Yeni eleman için bir eleman fazla olacak şekilde hafızadan yeni alan tut.
    int *yeni_dizi = new int[boyut + 1];

    // Elemanları eski alandan yeniye taşı.
    for (int i = 0; i < boyut; i++) {
        yeni_dizi[i] = dizi[i];
    }

    // Eski alanı serbest bırak.
    delete dizi;

    // Diziyi yeni alana göstert.
    dizi = yeni_dizi;
}

int main() {
    // Rastgelelik için seed'i saniyeye bağlı tanımlıyorum.
    srand(time(0));

    cout << "Kac eleman eklensin? ";
    int eleman_sayisi;
    cin >> eleman_sayisi;

    // https://w...content-available-to-author-only...s.org/measure-execution-time-function-cpp/
    auto start = chrono::high_resolution_clock::now();

    // Başta dizi boş. Dolu da olabilir ama.
    int *dizi = new int[0];
    for (int i = 0; i < eleman_sayisi; i++) {
        int yeni_eleman = rand();
        eleman_ekle(dizi, i, yeni_eleman);
    }

    auto end = chrono::high_resolution_clock::now();

    auto gecen_zaman_ms = chrono::duration_cast<chrono::milliseconds>(end - start).count();

    // Memory leak olmasın :)
    delete dizi;

    cout << eleman_sayisi << " eleman eklemek toplamda " << gecen_zaman_ms << " milisaniye surdu.\n";
}