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

Расчет выходных сигналов эл. цепи - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Строки матрицы с максимальным и минимальным элементом заполнить нулями http://www.cyberforum.ru/cpp-beginners/thread135063.html
Строки с максимальным и минимальным элементом заполнить нулями. Остальные строки отсортировать по возрастанию.:-[
C++ Стеки может у кого то уже есть готовая или кому то интересно написать буду оочень благодарен Создать два стека для символов. Максимальный размер стеков вводится с экрана. Создать функции для ввода и вывода элементов стека. Вводить символы с экрана в первый стек. В случае совпадения вводимого символа с вершиной стека вводить во второй стек. Добавлено через 17 минут очень прошу помогите.. http://www.cyberforum.ru/cpp-beginners/thread135062.html
.....ОШИБКА при УДАЛЕНИИ..... C++
Всем здравствуйте)))....Написала код по удалению элемента из линейного однонаправленного списка:..ошибок нет, а программа зависает.. Помогите, пожайлуста, найти ошибку дозавтра !..(очень хочется решить) void shop::cut() { shop *q; shop *z,*e; int key; cout << "\n vvedite key "; //пусть ключом будет номер магазина
C++ Фильтр клавиатуры
Привет! Я хочу фильтровать нажатия клавиатуры так, чтобы система на них никак не реагировала. Я реализовал хук в DLL LRESULT __declspec(dllexport)__stdcall CALLBACK KeyboardProc( int nCode, WPARAM wParam, LPARAM lParam) { if(wParam==VK_SPACE) {
C++ графы http://www.cyberforum.ru/cpp-beginners/thread135047.html
есть н городов соединеные дорогами(с односторонним движением) для любых i,j известна средняя скорость движения и километраж, найти минимальный по времени маршрут для двух заданных городов.
C++ Структуры Для структуры указанной в варианте 21 написать программу, выполняющие следующие действия с помощью функций: -ввод с клавиатуры данных в файл, состоящий из структур типа STUDENT; записи должны быть упорядоченны по фамилиям; -чтение данных из файла; -вывод на дисплей фамилий студентво, которые начинаются с литеры "Б" и "Г", и год их поступления. -если таких студентов нет, вывести... подробнее

Показать сообщение отдельно
PaVLLeTTo
 Аватар для PaVLLeTTo
14 / 14 / 0
Регистрация: 13.05.2010
Сообщений: 139
25.05.2010, 00:19     Расчет выходных сигналов эл. цепи
В данной работе необходимо по известному входному сигналу Uвх(t) и заданной передаточной характеристике Uвых(Uвх) построить выходной сигнал Uвых(t).
Написать программу формирования массивов времени, Uвх, Uвых.
Определить длительность импульса, где входной сигнал больше половины своего максимального значения и, соответственно, для выходного сигнала, с относительной точностью EPS=0.01. График входного сигнала,Передаточной характеристики и рабочего набора представлен ниже:
Параметры.rar
Также представлю похожую работу:

menu.cpp

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
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include "prototipi.h"
 
/*
 * 
 */
int get_vibor ()
{
    int vibor = 0;
    printf ("\n Menu \n");
    printf ("Viberite comandu menu (1-6):\n");
    printf ("1.Vvod isxodnix dannix s klavaturi\n");
    printf ("2.Vivod tablici\n");
    printf ("3.Zapis' dannix v fail\n");
   // printf ("4.Chtenie dannix s faila\n");
    printf ("5.Soxranenie tablici\n");
    printf ("6.Vichislenie impulsa\n");
    printf ("7.EXIT\n");
    printf ("Vash vibor: ");
 
    scanf ("%d",& vibor);
 
 
    return vibor;
}
main.cpp:

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
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#define maxsize 200
#include "prototipi.h"
 
 
int main (void)
{
 
privetstvie();
printf ("\n");
 
int i;
int n=21;
double t0=0,t2=2,U0=5,U=2;
double Uvix[maxsize], Uvx[maxsize],time[maxsize] ;
double t;
double dt =(t2-t0)/(n-1);
printf ("dt=%lf",dt);
printf ("\n");
 
  for ( int i=0; i<n; i++)
    {
        time [i]=0 + i*dt;
        Uvx [i] = 5-2*sin(t);
        t+=dt;
}
 
 for (int i=0; i<n; i++)
    {
    if (Uvx[i]<10)
        Uvix[i] = 100/7*(Uvx[i]-3);
    else
        Uvix[i]=100;
    }
     printf("\nZnacheniya poschitani\n");
 
 
 bool exit = false;
 
for(;;)
    {
   int vibor = get_vibor();
 
switch(vibor)
        {
        case (1):
               vvod_dannix(&t0, &t2, &U0, &U, &n);
               form_Uvx(Uvx,time,dt, t0, t2, U0, U, n );
               form_Uvix(Uvix,Uvx,time,n);
               printf ("\n Znachenia poschitani \n ");
               break;
        case (2):
               table( &n, time,Uvx,Uvix);
               break;
       case (3): zapis (n,time,Uvx,Uvix);
               break;
       case (5): save_table (&n, time,Uvx,Uvix) ;
               break;
      case (6):
              impuls (Uvix, dt, &n);
               break;
       case (7) : exit=true;
          break;
          default:
        printf("Vibor dolzhen bit ot 1 do 7\n");
     break;
}
         if(exit)
             break;
}
    
 
   return (0);
}
arrays.cpp:

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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include "prototipi.h"
/*
 *
 */
void privetstvie ()
{
    char text;
    FILE *fail=fopen("vipolnila.txt","r");
 
    if(fail!=NULL)
    {
        text=getc(fail);
        while(!feof(fail))
        {
            printf("%c",text);
            text=getc(fail);
        }
        fclose(fail);
    }
    else printf("File ne nayden!");
    printf ("\n\n");
}
 
void nayti_dt(double t0, double t2, int n, double * dt)
{
    *dt=(t2-t0)/(n-1);
}
 
 
void vvod_dannix (double *t0,double *t2, double *U0, double *U, int *n)
{
printf ("t0=");
scanf ("%lf",& t0);
 
printf ("t2=");
scanf ("%lf",& t2);
 
printf ("U0=");
scanf ("%lf",& U0);
 
printf ("U=");
scanf ("%lf",& U);
}
 
void form_Uvx (double *Uvx,double *time,double dt, double t0,double t2, double U0, double U, int n)
{
     double t;
     dt =(t2-t0)/(n-1);
  for ( int i=0; i<n; i++)
    {
        time [i]=t0 + i*dt;
        Uvx [i] = U0-U*sin(t);
        t+=dt;
  }
}
 
void form_Uvix (double *Uvix,double *Uvx,double *time, int n)
{
 for (int i=0; i<n; i++)
    {
    if (Uvx[i]<10)
        Uvix[i] = 100/7*(Uvx[i]-3);
    else
        Uvix[i]=100;
    }
}
 
void table(int *n,double time[],double Uvx[],double Uvix[])
{
    printf ( "Numer    Time    Uvx   Uvix \n");
    for (int i=0; i<*n; i++)
    printf("%6d%10.3lf %10.3lf %10.3lf\n", (i+1),time[i],Uvx[i],Uvix[i]);
}
 
void save_table (int *n,double time[],double Uvx[],double Uvix[])
{
    FILE *out = fopen ("table.txt", "w+r");
    for(int i=0;i<*n;i++)
    {
        fprintf(out, " %10.3lf %10.3lf  %10.3lf\n", time[i],Uvx[i],Uvix[i]);
    }
}
 
void zapis(int n,const double time[], const double Uvx[],  const double Uvix[])
{
    FILE *f1,*f2,*f3;
    f1=fopen ("time.txt","w+r");
    f2=fopen("Uvx.txt","w+r");
    f3=fopen ("Uvix.txt","w+r");
 
    for (int i=0; i<n;i++)
    {
        fprintf (f1,"\n%10.3lf ",time[i]);
        fprintf (f2,"\n%10.3lf ",Uvx[i]);
        fprintf (f3,"\n%10.3lf ",Uvix[i]);
    }
 
    fclose (f1);
    fclose (f2);
    fclose (f3);
 
    printf ("\n zapis v file vipolnena \n");
}
 
 void impuls (double Uvix[], double dt, int *n)
{
     double W ;
     double t0=0,t2=2;
     dt =(t2-t0)/(*n-1);
    for (int i=0; i<*n; i++)
    {
        if (Uvix[i]<=15) 
            W=dt*(*n-1);
    }
        printf ("moment vremeny=%10.3f\n", W);
}
prototipi.h:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#ifndef _PROTOTIPI_H
#define _PROTOTIPI_H
 
 
 
#endif  /* _PROTOTIPI_H */
 
void privetstvie ();
void vvod_dannix (double *t0,double *t2, double *U0, double *U, int *n);
void form_Uvx (double *Uvx,double *time,double dt, double t0,double t2, double U0, double U, int n );
void form_Uvix (double *Uvix,double *Uvx,double *time, int n);
void table(int *n,double time[],double Uvx[],double Uvix[]);
 
void save_table (int *n,double time[],double Uvx[],double Uvix[]);
void zapis(int n,const double time[], const double Uvx[], const double Uvix[]);
 
void impuls (double Uvix[], double dt, int *n);
 
int get_vibor();
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru