Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.53/17: Рейтинг темы: голосов - 17, средняя оценка - 4.53
ArtTheft
12 / 12 / 0
Регистрация: 20.02.2010
Сообщений: 55
1

Как вывести время сортировки на екран

21.09.2010, 21:20. Просмотров 3101. Ответов 6
Метки нет (Все метки)

Добрый всем вечер!
Имеется одна проблема в создании программы.
Подскажите как вывести на экран в "с++" или "с" время сортировки массива.
Всем заранее спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.09.2010, 21:20
Ответы с готовыми решениями:

Как определить и вывести на экран время сортировки массива
Как вывести время сортировки самого массива, а не время работы всей программы?...

Как счетать текст с HTML сраницы и вывести на екран
Здраствуйте как можно стичать текст HTML сайта и вывести его на экран.

Как вывести на екран структуру/класс через vector или list
Всем привет.Подскажите как через итераторы правильно вывести структуру или...

Как вычислить время сортировки?
Есть программа сортировки пузырьком. Нужно чтобы после сортировки выводилось за...

Как измерить время сортировки 4 массивов?
Как сделать таймер, чтобы измерял время сортировки каждого из 4-х массивов ?

6
ForEveR
В астрале
Эксперт С++
7995 / 4754 / 651
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
21.09.2010, 21:29 2
Как-то так выводит время выполнения программы.

C++
1
2
3
4
5
6
7
8
9
#include <iostream>
#include <ctime>
 
int main()
{
   time_t begin(time(NULL));
   std::cout<<(difftime(time(NULL), begin))<<'\n';
   return 0;
}
0
CyBOSSeR
Эксперт С++
2310 / 1683 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
21.09.2010, 22:07 3
ArtTheft,
C++
1
2
3
4
5
6
7
#include <ctime>
 
//...
const std::clock_t start = std::clock();
// Сортировка
const double duration = static_cast<double>(std::clock() - start) / CLOCKS_PER_SEC;
//...
Lavroff, в многозадачной ОС если сортировка займет большое количество времени, результат подобного замера будет некорректным.
2
ForEveR
В астрале
Эксперт С++
7995 / 4754 / 651
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
21.09.2010, 22:08 4
CyBOSSeR, Спасибо, не знал
0
ArtTheft
12 / 12 / 0
Регистрация: 20.02.2010
Сообщений: 55
22.09.2010, 10:27  [ТС] 5
Подскажите пожалуйста как сюда поставить подсчет времени именно сортировки пузырьковым методом
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include <stdio.h>
#include <conio.h>
#include <time.h>
#include <ctime>
#include <string.h>
#include <iostream>
 
int main()
{
    int A[10];
    int n=1, buf;
    time_t start,end;
    double dif;
    time (&start);
    for (int i=0; i<10; i++)
    {   printf("n%i= ", n);
        scanf("%i", &A[i]);
        n++;   }
        
     
     for(int i=0;i<10;i++)
     for(int j=0;j<10;j++)
        if (A[i]<A[j])
        {  buf=A[i];
           A[i]=A[j];
           A[j]=buf;  }
           time (&end);
  dif = difftime (end,start);
 
           
           
    for (int i=0; i<10; i++)
    {        printf(" %i ", A[i]);    }
 
    printf("\n");
    
    
     for(int i=0;i<10;i++)
     for(int j=0;j<10;j++)
        if (A[i]>A[j])
        {
        buf=A[i];
        A[i]=A[j];
        A[j]=buf;
     }
    
    
    for (int i=0; i<10; i++)
    {    printf(" %i ", A[i]);    }
     printf("\n");
     printf ("It took %.2lf seconds to ... .\n", dif );
     
      getch();
    return 0;
}
Пробывал подкючать time_t но оно у меня считает время выполнения всей программы,а надо именно сортировки (
0
Andrew_Lvov
Эксперт С++
260 / 190 / 10
Регистрация: 19.08.2010
Сообщений: 760
Записей в блоге: 1
22.09.2010, 10:39 6
Время end-start - это разница между моментами инициализации start и end. Внутри этих частей у вас в том числе ввод данных с клавиатуры.
0
fasked
Эксперт С++
4982 / 2561 / 241
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
22.09.2010, 12:00 7
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
#define VALUES 20000
 
int main()
{
    int i, j;
    clock_t start;
    double duration;
    
    int range[VALUES];
    int buf;
    
    for(i = 0; i < VALUES; ++i)
        range[i] = rand();
           
    start = clock();
    for(i = 0; i < VALUES; ++i) {
        for(j = VALUES - 1; j >= i; --j) {
            if(range[j] > range[j-1]) {
                buf = range[j-1];
                range[j-1] = range[j];
                range[j] = buf;
            }
        }
    }
    
    duration = (double)(clock() - start) / CLOCKS_PER_SEC;
    
    printf("time of sort: %f sec\n", duration);
    return 0;
}
0
22.09.2010, 12:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.09.2010, 12:00

Как измерить время сортировки массива?
Как сделать таймер, чтоби измерял время сортировки массива?

C клавиатуры вводят строку, в которой есть числа, роздалены 1 или несколькю пробелами. Вывести на екран найбольшее
Я токо С++ начал учить а уже дали проект, очень нужно прошу помоч, знаю задача...

Как правильно вывести каждую итерацию цикла сортировки выбором
#include&lt;iostream&gt; #include&lt;conio.h&gt; #include&lt;cstdlib&gt; #include&lt;ctime&gt;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru