Форум программистов, компьютерный форум, киберфорум
Наши страницы

C (Си)

Войти
Регистрация
Восстановить пароль
 
gordan11
1 / 1 / 1
Регистрация: 16.05.2013
Сообщений: 236
#1

Время работы цикла - C (Си)

14.11.2015, 17:13. Просмотров 428. Ответов 10
Метки нет (Все метки)

Почему время работы выводит 0?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int bubblesort(int *a, int n)
{
  int i, j;
  int count = 0;
  
  time_t t1 = time(NULL);
    for (i = n - 1; i >= 0; i--)
    {
        for (j = 0; j < i; j++){
            if (a[j] > a[j + 1]){
                SWAP( a[j], a[j + 1] );
                ++count;
            }
        }
    }
 
  time_t t2 = time(NULL);
  printf("Puzurkom %\n");
  printf("perestanovok %d %\n", count);
  printf("Vremya %d %\n ", double(t2 - t1));
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2015, 17:13
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Время работы цикла (C (Си)):

Не могу разобраться в принципе работы цикла - C (СИ)
1. как в данном случае работает цикл for без третьего условия? for(i=0; s ; ) { for(;s&amp;&amp;s==' ';i++); if(s) {....}}2. Чему у нас...

Время работы программы на Си - C (СИ)
Работая на Lunux, время выполнения программы можно провериться с помощь комманды time т.е. вызвать программу следующим образом: time...

Определить время работы функции - C (СИ)
здраствуйте мне хотелосьбы узнать можнали узнать время которое работала функция ? вот у меня есть несколько функций которые сортируют...

Приостановка работы программы на определенное время - C (СИ)
Есть такая функция, чтобы приостановила выполнение программы на несколько секунд? А то два массива должны заполняться разными случайными...

Изменить размерность массивов во время работы программы - C (СИ)
Добрый день. Суть проблемы такова: из txt файла считывается размер двумерного массива и создает его, но на это программа дает ошибку...

Можно ли сделать так, чтобы во время цикла можно было вводить какую нибудь символ? - C (СИ)
Можно ли сделать так, чтобы во время цикла можно было вводить какую нибудь строку? Например идёт цикл и я могу ввести какой либо символ и...

10
Glart
В поисках себя
115 / 89 / 25
Регистрация: 12.11.2015
Сообщений: 529
14.11.2015, 17:28 #2
Скорее всего потому что нельзя так отнимать 2 метки времени
C
1
t2 - t1
Можно попробовать этот вариант: Определить время работы функции
0
gordan11
1 / 1 / 1
Регистрация: 16.05.2013
Сообщений: 236
14.11.2015, 17:43  [ТС] #3
Цитата Сообщение от Glart Посмотреть сообщение
Можно попробовать этот вариант: Определить время работы функции
Ошибка 13 21 D:\ÐÁ\ÎÀèÏ\ËÁ5\Áåçûì123123ÿííûé1.cpp [Error] 'GetTickCount' was not declared in this scope
на строке
C
1
t1 = GetTickCount();
0
Glart
В поисках себя
115 / 89 / 25
Регистрация: 12.11.2015
Сообщений: 529
14.11.2015, 17:57 #4
C
1
2
3
#pragma comment(lib, "Kernel32.lib")
 
extern WINBASEAPI DWORD WINAPI GetTickCount(VOID);
0
sharpey
139 / 129 / 22
Регистрация: 21.09.2008
Сообщений: 410
15.11.2015, 08:19 #5
Для переносимого POSIX-варианта (а Windows относится к нему) смотрите функцию clock.
0
gordan11
1 / 1 / 1
Регистрация: 16.05.2013
Сообщений: 236
15.11.2015, 13:01  [ТС] #6
Цитата Сообщение от sharpey Посмотреть сообщение
Для переносимого POSIX-варианта (а Windows относится к нему) смотрите функцию clock.
Я нашел почему время 0 выводит, просто мало элементов в массиве (1000). Начальное и конечное время совпадает. Теперь проблема другая, когда в массиве 10000 эллементов программа крошится на этой сортировке
0
Glart
В поисках себя
115 / 89 / 25
Регистрация: 12.11.2015
Сообщений: 529
15.11.2015, 13:13 #7
Цитата Сообщение от gordan11 Посмотреть сообщение
программа крошится на этой сортировке
И какая ошибка?
0
gordan11
1 / 1 / 1
Регистрация: 16.05.2013
Сообщений: 236
15.11.2015, 13:31  [ТС] #8
Цитата Сообщение от Glart Посмотреть сообщение
И какая ошибка?
Время работы цикла
Вот на этой строке
C
1
if (a[j] > a[j + 1]){
0
Glart
В поисках себя
115 / 89 / 25
Регистрация: 12.11.2015
Сообщений: 529
15.11.2015, 13:39 #9
Цитата Сообщение от gordan11 Посмотреть сообщение
int bubblesort(int *a, int n)
А именно
C
1
*a
Эта переменная только для чтения, но при этом используется функция swap, которая пытается изменить массив, а точнее поменять местами элементы.

Не по теме:

Самое глупое, что достаточно это вписать в поиск и ответ на ладони.

0
gordan11
1 / 1 / 1
Регистрация: 16.05.2013
Сообщений: 236
15.11.2015, 13:59  [ТС] #10
Цитата Сообщение от Glart Посмотреть сообщение
Эта переменная только для чтения, но при этом используется функция swap, которая пытается изменить массив, а точнее поменять местами элементы.
А почему когда 1000 элементов все программа работает?
0
sharpey
139 / 129 / 22
Регистрация: 21.09.2008
Сообщений: 410
16.11.2015, 08:33 #11
Цитата Сообщение от Glart Посмотреть сообщение
Эта переменная только для чтения
Квалификатор const не виден, посему с утверждением не согласен.

Цитата Сообщение от gordan11 Посмотреть сообщение
А почему когда 1000 элементов все программа работает?
Размер массива какой? Падение происходит из-за выхода за размер сортируемого массива.
0
16.11.2015, 08:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.11.2015, 08:33
Привет! Вот еще темы с ответами:

Подсчитать время работы трех видов поиска: линейный, интерполяционный, бинарный - C (СИ)
Вообщем надо подсчитать время работы трех видов поиска линейный,интерполяционный,бинарный,собственно вроде программа работает ,но почему то...

Программа запускается, но через некоторое время выскакивает сообщение о прекращении работы программы. - C (СИ)
Доброго дня! За окном мерзкая дождливая погода, в Мире Танков отличная акция, на столе упаковки от лекарств. Но ближе к делу. ...

Битовое решето Эратосфена: Исправить второй цикл, чтобы уменьшилось время работы программы - C (СИ)
Доброго времени суток! Подскажите, пожалуйста, как исправить второй цикл, чтобы уменьшилось время работы программы (на данном этапе при...

Вычислить сумму первых n (задается во время работы программы) членов ряда нечетных чисел - C (СИ)
Написать программу, которая вычисляет сумму первых n членов ряда: 1,3,5,7 ... Количество суммируемых членов ряда задается во время работы...


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

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

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