Bei vielen, vor allem älteren Programmiersprachen gehörten die mathematischen
Funktionen zum Sprachumfang. Die Sprache C wurde ursprünglich zur systemnahen
Programmierung entwickelt. Dort sind mathematische Fähigkeiten weniger
gefragt. Darum wurden die mathematischen Funktionen in die Bibliotheken
ausgelagert. Das macht diejenigen Programme schlanker, die keine mathematischen
Funktionen benötigen. Die mathematische Standardbibliothek
math. h
Um die Funktionen der mathematischen Bibliotheken verwenden zu können, muss
zu Anfang des Programms die Datei
math. h eingebunden werden:
#include
Wenn er gerade C lernt, solltet ihr auch erklären, was euer Code anders macht und seiner nicht funktioniert. @muchachox Erstens ist die Reihenfolge der Methoden relevant. Wenn du in main() die swap()-Funktion benutzen willst, so musst du diese auch im Code vor dieser deklarieren. Ansonsten bringt der Compiler an dieser Stelle schon einen Fehler. Weiterhin ist es in C nicht möglich, dass eine Funktion mehrere Rückgabewerte hat. Dafür gibt es mehrere Möglichkeiten: Bei einer Deklaration void swap(int a, int b) spricht man von "Pass by Value", das heißt, die Parameter werden beim Aufruf der Funktion kopiert, alles was du dann mit diesen anstellst ist nach der Funktion vergessen, da dann mit dem Original weiter gearbeitet wird. Die einfachste Möglichkeit ist hier "Pass by Reference": void swap(int &a, int &b) Hier bedeuten die &-Zeichen vor den Parameternamen, dass diese nicht kopiert werden sollen, sondern eine Referenz auf das Original verwendet wird. Demnach modifiziert man innerhalb der Methode dann auch das Original, sodass diese Veränderung auch nach der Funktion erhalten bleibt.
Mit return wird die Funktion beendet und ein Wert zurückgegeben. Wir geben mit return (summand1 + summand2) die Summe der Parameter zurück. Im Hauptprogramm deklarieren wie eine Variable summe, welche wir mit dem Rückgabewert des Funktionsaufrufes addiere(3, 7) initialisieren.
Dabei ist f der Rückgabewert der Funktion, der zwischen
1/2 und 1 liegt. double frexp(double a, int *b);
Der Wert von b wird der aufrufenden Parametervariablen
per Adresse übergeben. Ein Aufruf der Funktion sieht also etwa so aus:
int b;
f = frexp(a, &b);
Die Funktion ldexp() ist die Umkehrfunktion zu frexp():
double ldexp(double ai, int b);
Sonstige Funktionen
Absolutbetrag
Die Betragsfunktion liefert den Wert des übergebenen Wertes, wenn er
positiv ist, und multipliziert ihn mit -1, wenn er negativ ist. Damit
liefert die Funktion also immer einen positiven Wert. Es gibt eine Funktion namens abs() für ganzzahlige Werte aus der
Bibliothek stdlib und eine Funktion fabs() für Fließkommazahlen aus
der math-Bibliothek. #include
Wenn dir in anderen Anleitungen trotzdem einmal Abkürzungen begegnen oder Häkelbegriffe auf Englisch verwendet werden, findest du hier eine Hilfestellung: Deutsch: doppelte(s) Stäbchen – oder kurz: dStb Englisch (US): triple crochet stitch(es) Englisch (UK): double treble crochet stitch(es)
B Einen Umschlag holen und eine LM als Ersatz für die 1. FM häkeln. Luftmasche = LM C Eine Schlaufe legen, einen Umschlag auf die Nadel nehmen D und den Faden durch die Schlaufe ziehen. E Für die folgenden LM den Faden immer locker durch die letzte Maschenschlaufe ziehen. Kettmasche = LM F Durch das folgende Maschenglied eine Schlinge gleich durch die auf der Nadel befindliche Schlinge ziehen. Feste Masche = FM G Durch das Maschenglied der vorigen Reihe eine Schlinge ziehen, einen Umschlag holen und diesen durch die beiden Schlingen auf der Nadel ziehen. Stäbchen = ST H Einen Umschlag auf die Nadel legen, den Faden durch das Maschenglied der unteren Reihe ziehen (es sind 3 Schlingen auf der Nadel), den Faden holen und zuerst durch die ersten beiden Schlingen ziehen, J wieder den Faden holen und die 2. 2 zusammen abgemaschte doppelstäbchen english. und 3. Schlinge abmaschen. Doppelstäbchen = DST K Zwei Umschläge auf die Nadel legen, den Faden durch das Maschenglied der unteren Reihe ziehen (es sind 4 Schlingen auf der Nadel), 3 x nacheinander den Faden holen und jeweils zwei Schlingen zusammen abmaschen.