Форум программистов, компьютерный форум CyberForum.ru

Посчитать длительность в секундах после того как График начинает убывать - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Пара простеньких заданий http://www.cyberforum.ru/cpp-beginners/thread40088.html
Добрый день.Я хотел бы обратиться с просьбой помочь мне с проблемой.Я не могу выполнить два простеньких задания так как я в С не очень силён.Могли бы вы помочь мне в этом. 1. Постановка задачи Для разряженной матрицы целых чисел в соответствии с индивидуальным заданием создать модуль доступа к ней, у котором обеспечить экономию памяти при размещении данных. Индивидуальные задания Все нулевые...
C++ Програма макроподстановок в assemler ной програме Добрый день,есть такая задача - написать програму для макроподстановок в асемблерной програме. Тоесть нужно открыть файл *.asm найти тело макроса,и дописать его в основной код програмы,там где он вызывается заменив формальные параметры на фактические соответственно. Это курсовой проэкт,может быть написан на с/с++ , желательно еще пару функций на асемблере сделать(скомпилировав коды) но... http://www.cyberforum.ru/cpp-beginners/thread40076.html
Арифметическое выражение C++
В записи арифметического выражения используются круглые, квадратные и фигурные скобки. Проверить, верно ли расставлены скобки, соответствие открытых и закрытых скобок. Входные данные - строка символов.
Двумерный массив C++
Собственно помогите решить задачи на двумерный масив пжл) Дан массив A. Известно что среди его элементов два и только 2 равны, вывести их индексы. Вот идеи: #include <iostream> using namespace std; int main() {
C++ Не могу разобраться с матрицей http://www.cyberforum.ru/cpp-beginners/thread40044.html
В заданной матрице A(N,M) (N<10, M<20) в каждом столбце поменять местами максимальный и минимальный элементы. Матрицу напечатать Заранее спасибо!
C++ не получается исправить ошибку Здравствуйте Сочту за великое дело помочь человеку, который не умеет работать со стеками. Описать класс, реализующий стек. Написать программу, использующую этот класс для отыскания прохода по лабиринту. Лабиринт представляется в виде матрицы, состоящей из квадратов. Каждый квадрат либо открыт, либо закрыт. Вход в закрытый квадрат запрещен. Если квадрат открыт, то вход в него возможен со... подробнее

Показать сообщение отдельно
Teemz
Сообщений: n/a
15.06.2009, 00:17     Посчитать длительность в секундах после того как График начинает убывать
Ну вот собственно в чем проблема:
По идее программа должна посчитать длительность в секундах после того как График начинает убывать после Uout=7.77(это максимум) и до конца этого графика. Подсчитав у меня вышло 1.5 секунды. Эта программа считает только до того как график доходит до экстремума Uout=7.77.
дальше программа начинает считать погрешность до тех пор пока не дойдет до E=0.1, но это она делает
Фактически в программе нужно подправить только самый конец там где float cParam
Просто мне с программой друг помогал я в них только новичок, но он уехал
Или хотябы подскажите что делать?
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#include<stdio.h>
#include<math.h>
#include<conio.h>
#define size 1001
 
float ctime(int N, float *Ti);
float cUin(int N, float *Ti, float *Uin);
float cUout(int N, float *Uin, float *Uout);
float cout(int N, float *Ti, float *Uin, float *Uout);
float cParam(int N, float *Ti, float *Uout);
 
 int N=21,i,B=5,a=5;
float b=0.5, tn=0,tk=2,time[size],Uin[size],Uout[size],E=0.1,P=100,h,d=2,W,V=100;
char op[1],R;
 
 
int main()
{while (P>E)
{
ctime(N,&time[0]);
cUin(N,&time[0],&Uin[0]);
cUout(N,&Uin[0],&Uout[0]);
printf("\n Vivesti otladnuju pechatj?\n");
scanf("%s",op);
if (op[0]=='y')
cout(N,&time[0],&Uin[0],&Uout[0]);
cParam(N,&time[0],&Uout[0]);
getch();
N=N*2;
 
printf("\n Parametr=%f",W);
 
if (N>1000)
{
 printf(" Vnimanie!Oshibka!");
 getch();
 return 0;
}
 
getch();
}
N=N/2;
if (P<E)
 
return 0;
}
 
float ctime(int N, float *Ti)
{
    h=(tk-tn)/(N-1);
 
    *Ti=tn;
 
    for(i=1;i<N;i++)
    *(Ti+i)=*(Ti+i-1)+h;
 
return 0;}
 
float cUin(int N, float *Ti, float *Uin)
{
    for(i=0; i<N; i++)
    *(Uin+i)=(B*exp(-(d**(Ti+i))))*sin(*(Ti+i));
 
 return 0;
}
float cUout(int N, float *Uin, float *Uout)
{
    for(i=0;i<N;i++)
 
*(Uout+i)=(a*exp(b**(Uin+i)));
return 0;
}
 
float cout(int N, float *Ti, float *Uin, float *Uout)
{
for(i=0;i<N;i++)
printf("\n   %4d    %4f   %4f    %4f   ",i+1,*(Ti+i),*(Uin+i),*(Uout+i));
return 0;
}
 
float cParam(int N, float *Ti, float *Uout)
{
float Umax=7.77, Tmax;
int i=0;
while (*(Uout+i)<=Umax)
{
Tmax=*(Ti+i);
i++;
}
W=Tmax-*Ti;
P=fabs(W-V);
V=W;
 
printf("\nPogreshnost=%f",P);
return 0;
}
Добавлено через 1 час 42 минуты 23 секунды
Вот константы

Tнач tn Начальное время
Tкон tk Конечное время
d d
Uвх(t) Uin Входное напряжение
Uвых(t) Uout Выходное напряжение
Vin1 Vin1 Напряжение(коэффициент вычисления Uout)
ε E Константа, с которой сравнивается погрешность
p p Погрешность
ti Ti Время
N N Количество значений
a a Напряжение(коэффициент вычисления Uin)
B B
d d
b b
h h Шаг

Добавлено через 2 часа 23 минуты 25 секунд
Ну я подумал посидел и решил просто из tk(конечного времени) вычесть Tmax вроде работает хотя правильно ли это неуверен
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru