Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.04.2009, 16:22   #1
DJEDY
 
Регистрация: 07.04.2009
Сообщений: 6
По умолчанию Подскажите где ошибка?!

Значит задача была такая:
найти экстремумы функции y=2*sin(3*x) и измерить время выполнения этого вычисления.
Вот исходный код:

#include<conio.h>
#include<iostream.h>
#include<stdlib.h>
#include<iomanip.h>
#include<time.h>
#include<dos.h>
#include<stdio.h>
#include <windows.h>
#include <conio.h>
#include <math.h>

float f(float x);
float df(float x);

void main()
{
clock_t start, end;
start=clock();
float a,b,h;
printf("\tNahozhdenie extremymov y=2*sin(3*x)\r\n");
printf("Vvedite nizhnuu granicy a : ");scanf("%f",&a);
printf("Vvedite verhnuu granicy b : ");scanf("%f",&b);
printf("Vvedite shag vichisleni h : ");scanf("%f",&h);
float x = a;
while(x + h <= b)
{
printf("x : %.3f - y : %.3f dy : %.3f\r\n",x,f(x),df(x));
x += h;
}
end=clock();
printf("time=%f\n",(end-start)/CLK_TCK);
printf("1 - raschet' na novom intervale\r\n");
getch());

}

float f(float x)
{
float y = 2*sin(3*x);
return y;
}

float df(float x)
{
float h = pow(10,-6);
float dy = (f(x + h) - f(x))/h;
return dy;
}

Скажите а почему мне выводится на экран такое огромное время?
не меньше 5 секунд((

Последний раз редактировалось DJEDY; 07.04.2009 в 16:27.
DJEDY вне форума Ответить с цитированием
Старый 07.04.2009, 16:33   #2
ISergeyN
Maniac
Форумчанин
 
Аватар для ISergeyN
 
Регистрация: 03.01.2009
Сообщений: 450
По умолчанию

Может лучше время засекать перед цыклом а не вводом даных?!
Код:
//..............................
start=clock();
while(x + h <= b)
{
    printf("x : %.3f - y : %.3f dy : %.3f\r\n",x,f(x),df(x));
    x += h;
}
end=clock();
//..............................
Стандартные библиотеки разработаны с учетом многолетнего опыта лучших программистов и они не больны "детскими болезнями крутизны в программизме"....
ISergeyN вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите где ошибка? lubafffka Помощь студентам 2 17.12.2008 19:02
Подскажите, пожалуйста, где ошибка? Madanamohana Паскаль, Turbo Pascal, PascalABC.NET 2 25.11.2008 13:13
Подскажите есть ошибка ? (если да то где) eyeofthedemon Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 19.09.2008 10:41
Подскажите, где в программе ошибка gamer123 Паскаль, Turbo Pascal, PascalABC.NET 3 25.02.2008 03:09