hectotr barrera

Generation

generate functionTue, 20 Jun 2023

Incluye los archivos de cabecera necesarios: iostream, cstdlib, ctime, chrono y "algoritmos.cpp". Define constantes y funciones. Abre un archivo llamado "output_merge.txt" y redirige la salida del programa a ese archivo utilizando freopen("output_merge.txt", "w", stdout). Inicializa el generador de números aleatorios utilizando srand con el tiempo actual como semilla. Define el número de repeticiones para el experimento (repeticiones). Configura variables para el rango del array a ordenar (izquierda y derecha) y el tamaño máximo del array (n). Itera sobre diferentes tamaños de array desde 100 hasta N (200000) con un incremento de 100. Mide el tiempo de ejecución del algoritmo de ordenación merge sort repeticiones veces mediante un bucle. Registra el tiempo de inicio (ti_ss) utilizando std::chrono::high_resolution_clock::now(). Llama a la función merge_sort (se espera que esté definida en "algoritmos.cpp"). Registra el tiempo de finalización (tf_ss). Acumula el tiempo transcurrido en cada iteración. Calcula el tiempo promedio dividiendo el tiempo acumulado por el número de repeticiones (acum.count() / repeticiones). Imprime el tamaño del array (n) y el tiempo promedio de ejecución en nanosegundos en la salida estándar (std::cout), separados por una coma y un salto de línea.

#include <iostream> #include <cstdlib> #include <ctime> #include <chrono> #include "algoritmos.cpp" using namespace std; #define repeticiones 1000 int n = 100; int izquierda = 0; int derecha = n; int main(int argc, char *argv[]) { freopen("output_merge.txt", "w", stdout); srand(time(0)); while (n <= 200000) { auto acum = chrono::nanoseconds::zero(); for (int i = 0; i < repeticiones; i++) { auto ti_ss = chrono::high_resolution_clock::now(); merge_sort(izquierda, derecha); auto tf_ss = chrono::high_resolution_clock::now(); auto delta = tf_ss - ti_ss; acum += chrono::duration_cast<chrono

Questions about programming?Chat with your personal AI assistant