#include #include #include // For rand() and srand() #include // For time() int main() { // Seed for random number generation std::srand(static_cast(std::time(0))); // Initialize variable to a random value int var = std::rand() % 100; // Initialize array with random values const int N = 20000; int array[N]; for (int i = 0; i < N; ++i) { array[i] = std::rand() % 100; // Random values between 0 and 99 } // Measure time for variable access auto start_var = std::chrono::high_resolution_clock::now(); int sum_var = 0; for (int i = 0; i < N; ++i) { sum_var += var; // Access variable repeatedly } auto end_var = std::chrono::high_resolution_clock::now(); auto duration_var = std::chrono::duration_cast(end_var - start_var).count(); // Measure time for array access auto start_array = std::chrono::high_resolution_clock::now(); int sum_array = 0; for (int i = 0; i < N; ++i) { sum_array += array[i]; // Access array repeatedly } auto end_array = std::chrono::high_resolution_clock::now(); auto duration_array = std::chrono::duration_cast(end_array - start_array).count(); // Output the results std::cout << "Variable value: " << sum_var << "\n"; std::cout << "Array sum: " << sum_array << "\n"; std::cout << "Time taken for variable access: " << duration_var << " nanoseconds\n"; std::cout << "Time taken for array access: " << duration_array << " nanoseconds\n"; return 0; }