#include <iostream>
#include <time.h>
using namespace std;
int main()
{
int n = 20000;
int a[n];
srand(time(nullptr));
for (int i = 0; i < n; i++) { // Цикл от 0 до n - 1
a[i] = rand() % (n + 1); // Число от 0 до n включительно, всего n + 1 вариант
}
clock_t t = clock();
for (int i = 0; i < n - 1; i++) { // Циклы от 0 до n - 2
for (int j = 0; j < n - 1; j++) {
if (a[j] > a[j + 1]) {
int p = a[j];
a[j] = a[j + 1];
a[j + 1] = p;
}
}
}
cout << (clock() - t) / (CLOCKS_PER_SEC / 1000);
return 0;
}
C/C++
Как нужно изменить код программы,чтобы делать 10 проходов,а затем суммарное время разделить на 10,чтобы получить среднее
Для того чтобы изменить код программы, чтобы делать 10 проходов, а затем суммарное время разделить на 10, можно использовать дополнительный цикл и переменную для хранения суммы времени. Измененный код будет выглядеть следующим образом:
#include <iostream>
#include <time.h>
using namespace std;
int main()
{
int n = 20000;
int a[n];
srand(time(nullptr));
for (int i = 0; i < n; i++) { // Цикл от 0 до n - 1
a[i] = rand() % (n + 1); // Число от 0 до n включительно, всего n + 1 вариант
}
clock_t t = 0; // переменная для хранения суммы времени
int num_passes = 10; // количество проходов
for (int p = 0; p < num_passes; p++) {
clock_t t1 = clock();
for (int i = 0; i < n - 1; i++) { // Циклы от 0 до n - 2
for (int j = 0; j < n - 1; j++) {
if (a[j] > a[j + 1]) {
int tmp = a[j];
a[j] = a[j + 1];
a[j + 1] = tmp;
}
}
}
t += clock() - t1; // добавляем время текущего прохода к сумме
}
cout << t / num_passes / (CLOCKS_PER_SEC / 1000); // выводим среднее время
return 0;
}
#include <iostream>
#include <time.h>
using namespace std;
int main()
{
int n = 20000;
int a[n];
srand(time(nullptr));
for (int i = 0; i < n; i++) { // Цикл от 0 до n - 1
a[i] = rand() % (n + 1); // Число от 0 до n включительно, всего n + 1 вариант
}
clock_t t = 0; // переменная для хранения суммы времени
int num_passes = 10; // количество проходов
for (int p = 0; p < num_passes; p++) {
clock_t t1 = clock();
for (int i = 0; i < n - 1; i++) { // Циклы от 0 до n - 2
for (int j = 0; j < n - 1; j++) {
if (a[j] > a[j + 1]) {
int tmp = a[j];
a[j] = a[j + 1];
a[j + 1] = tmp;
}
}
}
t += clock() - t1; // добавляем время текущего прохода к сумме
}
cout << t / num_passes / (CLOCKS_PER_SEC / 1000); // выводим среднее время
return 0;
}
Владимир Емельяненко
спасибо БОЛЬШОЕ!
clock_t t = clock(); int n = 10;
while(n--)
{
код программы
}
cout << (clock() - t) / (CLOCKS_PER_SEC / 1000) / 10.0;
while(n--)
{
код программы
}
cout << (clock() - t) / (CLOCKS_PER_SEC / 1000) / 10.0;
а как вылезать
Похожие вопросы
- Код программы на С++//
- Код программы на С++///
- Код программы на С++))
- Нужно обьяснение кода
- Код программы на С++))))
- Нужно написать код на с++
- Нужно прокомментировать код
- Visual studio, код программы
- Ребят всех с новым 2021) Помогите изменить код своим ревью. Я по крайне мере его изучу и пойму как работает всё)
- Написать код программы на с++