Programmieren

GTKmm 3 Binaries für Visual C++

gtk-logo

Da ich momentan eine Anwendung auf Basis von GTKmm schreibe und die letzte offizielle GTKmm-Version für Windows bereits drei Jahre alt ist und nicht den vollen Funktionsumfang bietet, musste ich GTKmm 3 selbst kompilieren. Das war die Hölle. Aber am Ende hat es doch geklappt, zumindest lief die Testanwendung mit den kompilierten Libs und DLLs. Ob auch komplizierterer Code ordnungsgemäß ausgeführt wird, muss sich erst… Weiterlesen

Maxwell-Boltzmann-Verteilung in C++

Maxwell-Boltzmann-Verteilung bei drei Temperaturen.

C++ bietet einige statistische Verteilung an, aber eine wichtige Verteilung der statistischen Physik – die Maxwell-Boltzmann-Verteilung wird nicht angeboten (zumindest konnte ich sie nicht finden), also habe ich mir selbst einen Generator für diese Verteilung geschrieben. Der Algorithmus ist nur wenige Zeilen lang: man würfelt ein Koordinatenpaar (Energie und Verteilungsdichte) und schaut ob der Wert der gewürfelten Verteilungsdichte kleiner als der Funktionswert der Maxwell-Boltzmann-Funktion ist…. Weiterlesen

Matrix invertieren in C++

Eine Matrix

Wie man eine Matrix mit Hilfe des Gauß-Jordan-Algorithmus invertiert habe ich bereits gezeigt. Nun habe ich versucht den vorgestellten Algorithmus in C++ umzusetzen. Als Ergebnis kam eine überschaubare Funktion mit einer Hilfsfunktion um zwei Zeilen in einer Matrix zu vertauschen. Ich habe die Funktion mit ein paar Matrizen ausprobiert und die Implementierung scheint zu funktionieren. Weitere Tests wären aber trotzdem zu empfehlen. Wie schnell die… Weiterlesen

C++11: Alternative Syntax für die Funktionsdeklarationen

C++

In dem neuen C++ Standard wurde eine alternative Syntax für Funktionen eingeführt. Diese erlaubt den Datentyp des Rückgabewertes am Ende des Funktionskopfes zu schreiben. Über die Bedeutung des Schlüsselwortes auto habe ich bereits geschrieben. In diesem Fall sorgt es dafür, dass der Kompiler die Deklaration auch solche erkennt. Für mich erscheint es an dieser Stelle überflüssig, aber ich vermute, dass der Grund auch an der… Weiterlesen

C++: explode, split, tokenize

C++

In PHP gibt es eine Funktion namens explode, die einen String anhand eines oder mehrerer Zeichen aufspaltet und als ein Array zurückgibt. Manchmal wird solch eine Funktion auch in C++ benötigt. Leider gibt es dafür keine native Implementierung. Es gibt zwar eine C-Funktion stdtok, aber die ist ziemlich unschön und gibt kein C++ Array zurück. Im Internet findet man viele brauchbare und wenig brauchbare Beispiele… Weiterlesen

Quadratwurzel mit Bisektion berechnen

Bisektion-Verfahren. Das Intervall zwischen L und H in der Mitte teilen und testen ob der Wert m unter- oder überschätzt wurde. Intervallgrenzen anpassen.

Im Folgenden werde ich zeigen, wie man relativ einfach die Umkehrfunktion einer monotonen Funktion berechnen kann. Als Beispiel nehme ich die Wurzelfunktion. Nehmen wir an, wie möchten die Wurzel von 10 berechnen. Wie geht man dabei vor? Wir kennen das Ergebnis nicht, aber wir können sagen in welchem Bereich es sich befindet. Der Betrag der Wurzel wird auf jeden Fall größer oder gleich der 0… Weiterlesen

String in Integer konvertieren (dezimal, binär, hexadezimal, oktal)

C++

Wie man Strings in Zahlen und Zahlen in Strings in C++ konvertiert, habe ich bereits beschrieben. Jetzt möchte ich eine Lösung vorstellen, wie Strings in Integer ganz “per Hand” umwandelt werden (Es war meine Hausaufgabenlösung in Informatik). Um einen String in einen Integer umzuwandeln, lohnt es sich das ASCII-System auszunutzen. Das Prinzip ist ziemlich einfach: Man nimmt das erste char-Zeichen (was nichts anderes als eine… Weiterlesen

Seite 1 von 41234