W trybie minimalnych (prawie) poprawek:
#include <iostream>
#include <ctime>
#include <cstddef>
using namespace std;
std::size_t start;
std::size_t stop;
double czas;
int ile;
int main()
{
int *zbior;
cout << "Podaj ilosc operacji: ";
cin >> ile;
// Tu brakuje sprawdzenia czy dane zostały wprowadzone poprawnie.
// Nawet takie naiwne sprawdzenie jest ok.
if(!cin)
{
cerr << "Pdałeś nieprawidłowe dane!\n";
return -1;
}
zbior = new(std::nothrow) int [ile];
// Tu brakuje sprawdzenia czy alokacja się powiodła.
// Można tak.
if(zbior == NULL)
{
cerr << "Alokacja pamięci na tablicę, nie powiodła się!\n";
return -1;
}
srand(time(NULL));
for(int i = 0; i < ile; ++i)
{
zbior[i] = rand() % 100 + 1;
}
start = clock();
for(int i = 0; i < ile; ++i)
{
zbior[i] += 10;
}
stop = clock();
czas = static_cast<double>(stop-start) / CLOCKS_PER_SEC;
cout << "Czas wykonania bez wskaznika: " << czas << " sec" << '\n';
//--------------------------------------------------------
int *wsk = zbior;
start = clock();
for(int i = 0; i < ile; ++i)
{
*wsk += 10;
++wsk;
}
stop = clock();
czas = static_cast<double>(stop-start) / CLOCKS_PER_SEC;
cout << "Czas wykonania z wskaznikiem: " << czas << " sec" << '\n';
delete [] zbior;
return 0;
}
1. Nie wczytuj nagłówka <time.h> bo dla C++ jest to <ctime>
2. Typ size_t jest w std::size_t i nagłówku <cstddef>
3. Staraj się (jeśli to możliwe), umieszczać każdą deklarację zmiennej w oddzielnej linii. To pomaga przy deklarowaniu wskaźników.
4. To co masz teraz przed funkcją main(), zostanie domyślnie zainicjowane zerem.
5. Dobrze jest sprawdzić stan strumienia po wprowadzeniu danych (stąd test if (!cin) )
6. new int[ile] może się nie powieść. Stąd powinieneś sprawdzić czy nie jest ustawiony na NULL lub nie rzucił wyjątkiem (tu przyjąłem że wyjątków nie chcesz)
7. srand/rand, mają słabą losowość no ale przyjąłem że piszesz zgodnie ze standardem przed C++11 więc dopuszczalne.
8. Rzutowanie "w stylu C", jest usilnie odradzane w C++. Zawsze stosuj rzutowanie w stylu C++. Tu static_cast<int>(...) jest odpowiednie.
9. W pętlach o ile to jest obojętne dla działania, staraj się stosować operacje pre a nie post.
10. clock(), nie oferuje obecnie dobrej rozdzielczości co do pomiaru czasu. Tu znów przyjąłem że piszesz przed C++11.
11. Jeśli chcesz nieco lepiej zmierzyć czas (z użyciem clock()), pozbądź się wyświetlania. Wpływa na wynik.