Я осознал что не правильно замерял скорость выполнения цикла - C (СИ)
Формулировка задачи:
for (int i=0; i<kol; i+=3) { verchar[i]++; verchar[i+1]++; verchar[i+2]++; }
for (int i=0; i<kol; i++) { verchar[i]++; }
Решение задачи: «Я осознал что не правильно замерял скорость выполнения цикла»
#include <stdio.h> #include <time.h> int main () { long int n=1e6,k,i; clock_t start,end; double elapsed; const int kol=128; char *verchar[kol]; start=clock(); for (k=0; k<n; k++) { for (int i=0; i<kol; i+=3) { verchar[i]++; verchar[i+1]++; verchar[i+2]++; } } end=clock(); elapsed=((double)(end-start)/CLK_TCK); printf ("\n1)%lf",elapsed); start=clock(); for (k=0; k<n; k++) { for (int i=0; i<kol; i++) { verchar[i]++; } } end=clock(); elapsed=((double)(end-start)/CLK_TCK); printf (" 2)%lf",elapsed); getchar(); return 0; }
Объяснение кода листинга программы
В этом коде выполняется два цикла, каждый из которых демонстрирует разные способы инкрементирования элементов массива. 1) Первый цикл инкрементирует каждый третий элемент массива verchar. 2) Во втором цикле инкрементируются все элементы массива verchar. После выполнения каждого из циклов измеряется время, затраченное на его выполнение, и выводится на экран. Для измерения времени используется функция clock(), которая возвращает процессорное время, потраченное на выполнение программы. Функция CLK_TCK используется для получения частоты процессора. Для удобства восприятия времени, оно переводится в формат с плавающей точкой (double). Для вывода результатов используется функция printf(). Для завершения работы программы используется функция getchar(). Код использует стандартные библиотеки C - stdio.h и time.h.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д