Projekt

Allgemein

Profil

Feature #738 » main.cpp

Maximilian Seesslen, 06.03.2026 17:39

 
1
#include <stdio.h>
2
#include <time.h>
3
#include <termios.h>
4
#include <errno.h>
5
#include <fcntl.h>
6
#include <QList>
7

    
8

    
9

    
10
float E12[]
11
{
12
   100, 120, 150, 180, 220, 270, 330, 390, 470, 560, 680, 820,
13
   1000, 1200, 1500, 1800, 2200, 2700, 3300, 3900, 4700, 5600, 6800, 8200,
14
   10000, 12000, 15000, 18000, 22000, 27000, 33000, 39000, 47000, 56000, 68000, 82000,
15
};
16

    
17
float E24[]
18
{
19
   100, 110, 120, 130, 150, 160, 180, 200, 220, 240, 270, 300, 330, 360, 390, 430, 470, 510, 560, 620, 680, 750, 820, 910,
20
   1000, 1100, 1200, 1300, 1500, 1600, 1800, 2000, 2200, 2400, 2700, 3000, 3300, 3600, 3900, 4300, 4700, 5100, 5600, 6200, 6800, 7500, 8200, 9100,
21
   10000, 11000, 12000, 13000, 15000, 16000, 18000, 20000, 22000, 24000, 27000, 30000, 33000, 36000, 39000, 43000, 47000, 51000, 56000, 62000, 68000, 75000, 82000, 91000
22
};
23

    
24

    
25
#define E E12
26

    
27

    
28

    
29
float voltage_U2( float u, float r1, float r2 )
30
{
31
   return( ( u * r2 ) / ( r1 + r2 ) );
32
};
33

    
34

    
35
float r_ges(float r1, float r2)
36
{
37
   // https://studyflix.de/elektrotechnik/parallelschaltung-widerstand-4533
38
   return( ( r1 * r2 ) / ( r1 + r2 ) );
39
}
40

    
41

    
42
int main()
43
{
44
   float total=36.0;
45
   float target=0.045;
46
   int bestR1=-1;
47
   int bestR2=-1;
48
   int bestR3=-1;
49
   float bestVoltage=1000000;
50
   float v;
51

    
52
   int count=sizeof(E)/sizeof(E[0]);
53

    
54
   //printf("%g Ohm\n", r2(target, 1000.0) );
55
   for(int i1=0; i1<count; i1++)
56
   {
57
      // if( ( E[i1] >= 1000 ) && ( E[i1] <= 5000  ) )
58
      //if( E[i1] == 1000 )
59
      {
60
         for(int i2=0; i2<count; i2++)
61
         {
62
            //for(int i3=0; i3<count; i3++)
63
            {
64
               v=voltage_U2( total, E[i1], E[i2] );
65
               printf("%g V\n", v );
66
               if( ( v >= target ) && ( v < bestVoltage ) )
67
               {
68
                  bestR1=i1;
69
                  bestR2=i2;
70
                  bestVoltage=v;
71
               }
72
            }
73
         }
74
      }
75
   }
76

    
77
   printf("%d/%d\n", bestR1, bestR2, bestR3 );
78
   printf("R1=%g\n", E[bestR1] );
79
   printf("R2=%g\n", E[bestR2] );
80
   printf("U2=%g\n", bestVoltage );
81

    
82
   return 0;
83
}
(2-2/2)