12-18-2024, 05:28 PM
(This post was last modified: 12-18-2024, 05:31 PM by Kernelpanic.)
These _Max/_Min functions are excellent. Applying the tenary operator to more than two numbers is much easier in QB64 than in C, for example. Even determining four numbers is easy in Basic, but a monster in C.
This is interesting if, for example, one want to determine maximum/minimum for temperature values etc., and the program should then react accordingly.
Basic rulez!
And here with the call to the corresponding C program
And the C-function (a monster!):
This is interesting if, for example, one want to determine maximum/minimum for temperature values etc., and the program should then react accordingly.
Basic rulez!
Code: (Select All)
'Tenaeren Operators in QB64 ab Vers. 4.0 - 16. Dez. 2024 'Dank an a740g und RhoSigma - 17/18 Dez 2024 Option _Explicit Dim As Long zahl1, zahl2, zahl3, zahl4, max, min, mittelWert Locate 3, 3 Print "Vierfach tenaerer Operator in QB64" Locate 4, 3 Print "==================================" Locate 6, 3 Input "Zahl 1: ", zahl1 Locate 7, 3 Input "Zahl 2: ", zahl2 Locate 8, 3 Input "Zahl 3: ", zahl3 Locate 9, 3 Input "Zahl 4: ", zahl4 'Anwendung des tenaeren Operators auf 4 Zahlen max = _Max(_Max(_Max(zahl1, zahl2), zahl3), zahl4) min = _Min(_Min(_Min(zahl1, zahl2), zahl3), zahl4) Locate 11, 3 Print Using "Die groesste Zahl ist: ####"; max Locate 13, 3 Print Using "Die kleinste Zahl ist: ####"; min Locate 15, 3 mittelWert = (max + min) / 2 Print Using "Der mittlere Wert betraegt: ###"; mittelWert End
And here with the call to the corresponding C program
Code: (Select All)
'Aufruf des tenaeren Operators in C mit 4 Zahlen - 18. Dez. 2024 Option _Explicit 'In QB64 mit "Declare Library" wie angegeben Declare Library "D:\Lab\QuickBasic64\Extern-nicht-Basic\Basic-ruft-C\btenaerVierfach" Function btenaerVierfach& (ByVal Zahl1 As Long, Byval Zahl2 As Long, Byval Zahl3 As Long, Byval Zahl4 As Long) End Declare Dim As Long zahl1, zahl2, zahl3, zahl4 Locate 3, 3 Print "Vierfachen tenaeren Operator in C aufrufen" Locate 4, 3 Print "==========================================" Locate 6, 3 Input "Zahl 1: ", zahl1 Locate 7, 3 Input "Zahl 2: ", zahl2 Locate 8, 3 Input "Zahl 3: ", zahl3 Locate 9, 3 Input "Zahl 3: ", zahl4 Locate 11, 3 Print Using "Die groesste Zahl ist : ####"; btenaerVierfach&(zahl1&, zahl2&, zahl3&, zahl4&) End
And the C-function (a monster!):
Code: (Select All)
//Maximum + Minimum von 4 Zahlen mit tenären Operator - 18. Dez. 2024 #include <stdio.h> #include <stdlib.h> long btenaerVierfach(long zahl1, long zahl2, long zahl3, long zahl4) { long max; max = zahl1 >= zahl2 ? zahl1 >= zahl3 ? zahl1 >= zahl4 ? zahl1 : zahl4 : zahl3 >= zahl4 ? zahl3 : zahl4 : zahl2 >= zahl3 ? zahl2 >= zahl4 ? zahl2 : zahl4 : zahl3 >= zahl4 ? zahl3 : zahl4; return(max); }