kennen:include:complex
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
— | kennen:include:complex [2020-07-30 09:20] (aktuell) – angelegt - Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== < | ||
+ | ==== Komplexe Zahlen ==== | ||
+ | Komplexe Zahlen werden in drei Spezialisierungen angeboten: | ||
+ | |||
+ | <code cpp> | ||
+ | std:: | ||
+ | std:: | ||
+ | std:: | ||
+ | </ | ||
+ | Zumeist wird man einen dieser Typen bevorzugen: | ||
+ | <code cpp> | ||
+ | typedef std:: | ||
+ | complex c(2, | ||
+ | std::cout << c << " = " | ||
+ | << c.real() << ' | ||
+ | std::cin >> c; // erlaubt: 2 (2) (2,3) | ||
+ | </ | ||
+ | Ausgaben erfolgen als geklammertes Zahlenpaar (re,im). | ||
+ | Eingaben sind in drei Formen erlaubt. | ||
+ | Neben Arithmetik, Vergleichen und den üblichen mathematischen Funktionen aus | ||
+ | [[cmath]] sind definiert: | ||
+ | |||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | |||
+ | ==== Beispiel ==== | ||
+ | <code cpp mandelbrot.cpp> | ||
+ | #include < | ||
+ | #include < | ||
+ | |||
+ | auto mandelbrot(std:: | ||
+ | { | ||
+ | std:: | ||
+ | for (auto i = 0; i < 100; ++i) z = z*z + c; | ||
+ | return abs(z) < 2; | ||
+ | } | ||
+ | |||
+ | auto pixel(bool value) { return " *" | ||
+ | |||
+ | int main() | ||
+ | { | ||
+ | for (auto y = 1.0; y >= -1.0; y -= 0.05) | ||
+ | { | ||
+ | for (auto x = -2.0; x <= 0.5; x += 0.03) | ||
+ | std::cout << pixel(mandelbrot({x, | ||
+ | std::cout << ' | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | Ausgabe: | ||
+ | < | ||
+ | |||
+ | |||
+ | * | ||
+ | ******* | ||
+ | | ||
+ | ****** | ||
+ | ******** * | ||
+ | **** ******************* | ||
+ | ************************** *** | ||
+ | | ||
+ | | ||
+ | ********************************* | ||
+ | | ||
+ | ************************************ | ||
+ | ** ***** | ||
+ | *********** | ||
+ | *************** ************************************** | ||
+ | ****************************************************** | ||
+ | *** ***************************************************** | ||
+ | | ||
+ | *** ***************************************************** | ||
+ | ****************************************************** | ||
+ | *************** ************************************** | ||
+ | *********** | ||
+ | ** ***** | ||
+ | ************************************ | ||
+ | | ||
+ | ********************************* | ||
+ | | ||
+ | | ||
+ | ************************** *** | ||
+ | **** ******************* | ||
+ | ******** * | ||
+ | ****** | ||
+ | | ||
+ | ******* | ||
+ | * | ||
+ | |||
+ | </ | ||