Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/218: Рейтинг темы: голосов - 218, средняя оценка - 4.75
3 / 3 / 0
Регистрация: 14.10.2012
Сообщений: 12
1

Измерить время выполнения программы

14.10.2012, 05:06. Показов 42803. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
#include <stdio.h>
#include <math.h>
#include <time.h>
main ()
{ FILE *in;
  FILE *out;
  float x,y;
  clock_t start, end;
 
start = clock();
in=fopen("acc.txt","r");
out=fopen("out.txt", "w");
fscanf(in, "%f %f", &x, &y);
if ((x<=0||x>=1000000)||(y<=0||y>=1000000))
   {fprintf (out, "Nedopustimie znacheniya\n");
   end = clock();
   fprintf(out, "%.4lf\n", (end - start) / (CLOCKS_PER_SEC));
   }
else
   { 
   fprintf(out, "P vpisannogo kvadrata vpisannogo v okrujnost raven %.3f; S ravna %.3f; \nP opisanogo okolo okrujnosti kvadrata raven %.3f; S ravna %.3f\n", (sqrt(2)*4*x), (x*x*2), (8*x), (4*x*x)); 
   fprintf(out, "P orrujnosti vpisanoi v kvadrat raven %.3f; S ravna %.3f;\nP orrujnosti opisannoi okolo kvadrata ravna %.3f; S ravna %.3f\n", (3.14*y), (3.14*y*y/4), (3.14*y*sqrt(2)), (3.14*2*y*y));
   fprintf(out, "P ravnostoronnego treugolnika vpisannogo v okrujnost raven %.3f; S ravna %.3f;\nP ravnostoronnego treugolnika opisannogo okolo okrujnosi raven %.3f; S ravna %.3f\n", (0.87*x*6), (x*x*0.87*0.87*2*0.87), (6*sqrt(3)*x), (3*sqrt(3)*x*x));
   fprintf(out, "P okrujnosti vpisannoi v ravnostoronnii treugolnik %.3f; S ravna %.3f;\nP okrujnosti opisannoi okolo ravnostoronnego treugolnika %.3f; S ravna %.3f;\n",   (y*3.14*sqrt(3)/3.) ,(3.14*y*y/12),(2*sqrt(3)/3*3.14*y), (3.14*y/3));
   end = clock();
   printf("%lf\n",(end - start) / (CLOCKS_PER_SEC));
   }
}
Программа считывает два числа из текстового файла, проводит расчеты и выводит результат и время выполнения в другой текстовый файл, только вместо времени выполнения программы выводится одно из чисел полученных в предыдущих расчетах.
Помогите пожалуйста разобраться, что не так?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.10.2012, 05:06
Ответы с готовыми решениями:

Измерить время выполнения сортировки
Всем привет) Хелпаните с задачей: Измерить время выполнения сортировки(в наносек-х), пытался с...

Задать время выполнения программы
Нужно, чтобы некоторый код выполнялся в течение 5 минут, а после выводились результаты его...

Как ограничить время выполнения программы?
Добрый день! Задали написать программу, следующего содержания: &quot;Для натурального числа сумма...

Задание размера массива после его объявления во время выполнения программы
Ребята, подскажите, как задать размер массиву во время выполнения. Я напишу пример на java - нужно...

4
3 / 3 / 0
Регистрация: 14.10.2012
Сообщений: 12
15.10.2012, 09:28  [ТС] 2
Помогите кто-нибудь.
0
1 / 1 / 0
Регистрация: 08.11.2012
Сообщений: 3
08.11.2012, 18:49 3
Difftime

C
1
2
#include  <time.h>
double difftime(time_t time2, time_t time1);
Функция difftime() возвращает разность в секундах между значениями параметров time1 и time2, т.е. возвращается значение выражения time2-time1.

Пример

Эта программа отображает время в секундах, требуемое для выполнения пустого цикла 5 000 000 раз:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <time.h>
#include <stdio.h>
 
int main(void)
{
  time_t start,end;
  volatile long unsigned t;
 
  start = time(NULL);
  for(t=0; t<5000000; t++) ;
  end = time(NULL);
  printf("Цикл использовал %f секунд.\n", difftime(end, start));
 
  return 0;
}
1
95 / 95 / 58
Регистрация: 04.10.2012
Сообщений: 189
08.11.2012, 23:08 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

C
1
2
3
4
5
6
else
   { 
   ...
   end = clock();
   printf("%lf\n",(end - start) / (CLOCKS_PER_SEC));
   }
Если я правильно понял, то тут тоже должно быть:
C
1
fprintf(out, "%.4lf\n", (end - start) / (CLOCKS_PER_SEC));
0
3 / 3 / 0
Регистрация: 14.10.2012
Сообщений: 12
11.11.2012, 08:27  [ТС] 5
Спасибо
0
11.11.2012, 08:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.11.2012, 08:27
Помогаю со студенческими работами здесь

Во время выполнения программы вылетает ошибка "The variable 'x' is being used without being initialized"
нужно найти &quot;y&quot; со значениями от -9 до 9 в итоге я сделал программу, при обработке выдает формула...

Как измерить время выполнения программы с использованием RDTSC
Мне нужно используя RDTSC (как я понял, это ассемблерной вставкой делать нужно) посчитать время...

Время выполнения программы
Какая функция замеряет время выполнения программы? скажите пожалуйста!

Нужно уменьшить время выполнения программы
Здравствуйте! Помогите, пожалуйста. Нужно уменьшить время выполнения программы, как это можно...

Измерить время выполнения программы
Программа простая и выполняется быстрее доли секунды, поэтому мой метод не работает как надо:...

Измерить время выполнения программы
Доброго времени суток! Прошу Вашей помощи в решении задачи. Речь касается &quot;Ханойских башен&quot; ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru