Book description
Dieses Buch zeigt dir einige bemerkenswerte Features, die C++ zu bieten hat, und wie du sie implementierst, um deine Anforderungen zu erfüllen. Jedes Problem ist einzigartig und testet nicht nur deine Sprachkenntnisse, sondern ebenso deine Fähigkeit, über den Tellerrand hinaus zu denken und die besten Lösungen zu finden.Mit unterschiedlichen Schwierigkeitsgraden wirst du mit einer Vielzahl von Aufgabenstellungen konfrontiert. Und falls du nicht weiter weißt, musst du dir keine Sorgen machen: Wir haben die besten Lösungen für die Probleme im Buch. Bist du bereit für die Herausforderung?
Table of contents
- Cover
- Titel
- Impressum
- Inhalt
- Vorwort
-
1 Mathematische Aufgaben
- Aufgaben
- 1. Summe der durch 3 und 5 teilbaren natürlichen Zahlen
- 2. Größter gemeinsamer Teiler
- 3. Kleinstes gemeinsames Vielfaches
- 4. Größte Primzahl kleiner als die gegebene Zahl
- 5. Sexy Primzahlpaare
- 6. Abundante Zahlen
- 7. Befreundete Zahlen
- 8. Armstrong-Zahlen
- 9. Primfaktorzerlegung
- 10. Gray-Code
- 11. Numerische Werte in römische Zahlen umwandeln
- 12. Größte Collatz-Folge
- 13. Den Wert von Pi berechnen
- 14. ISBNs validieren
- Lösungen
- 1. Summe der durch 3 und 5 teilbaren natürlichen Zahlen
- 2. Größter gemeinsamer Teiler
- 3. Kleinstes gemeinsames Vielfaches
- 4. Größte Primzahl kleiner als die gegebene Zahl
- 5. Sexy Primzahlpaare
- 6. Abundante Zahlen
- 7. Befreundete Zahlen
- 8. Armstrong-Zahlen
- 9. Primfaktorzerlegung
- 10. Gray-Code
- 11. Numerische Werte in römische Zahlen umwandeln
- 12. Größte Collatz-Folge
- 13. Den Wert von Pi berechnen
- 14. ISBNs validieren
-
2 Sprachmerkmale
- Aufgaben
- 15. Datentyp für IPv4
- 16. Die IPv4-Adressen eines Bereichs auflisten
- 17. Ein 2D-Array mit grundlegenden Operationen erstellen
- 18. Minimumfunktion mit beliebiger Anzahl von Argumenten
- 19. Werte zu einem Container hinzufügen
- 20. Vorhandensein von Elementen in einem Container prüfen
- 21. Wrapper für ein System-Handle
- 22. Literale für Temperatureinheiten
- Lösungen
- 15. Datentyp für IPv4
- 16. Die IPv4-Adressen eines Bereichs auflisten
- 17. Ein 2D-Array mit grundlegenden Operationen erstellen
- 18. Minimumfunktion mit beliebiger Anzahl von Argumenten
- 19. Werte zu einem Container hinzufügen
- 20. Vorhandensein von Elementen in einem Container prüfen
- 21. Wrapper für ein System-Handle
- 22. Literale für Temperatureinheiten
-
3 Strings und reguläre Ausdrücke
- Aufgaben
- 23. Binärwerte in Strings konvertieren
- 24. Strings in Binärwerte konvertieren
- 25. Großschreibung eines englischen Artikeltitels
- 26. Strings verknüpfen
- 27. Strings aufteilen
- 28. Längster Palindrom-Teilstring
- 29. Kfz-Kennzeichen validieren
- 30. URL-Bestandteile extrahieren
- 31. Datumsangaben in Strings umwandeln
- Lösungen
- 23. Binärwerte in Strings konvertieren
- 24. Strings in Binärwerte konvertieren
- 25. Großschreibung eines englischen Artikeltitels
- 26. Strings verknüpfen
- 27. Strings aufteilen
- 28. Längster Palindrom-Teilstring
- 29. Kfz-Kennzeichen validieren
- 30. URL-Bestandteile extrahieren
- 31. Datumsangaben in Strings umwandeln
-
4 Streams und Dateisysteme
- Aufgaben
- 32. Pascalsches Dreieck
- 33. Tabellarische Ausgabe einer Liste von Prozessen
- 34. Leere Zeilen aus einer Textdatei entfernen
- 35. Die Größe eines Verzeichnisses berechnen
- 36. Dateien löschen, die ein gegebenes Alter überschritten haben
- 37. Mit einem regulären Ausdruck übereinstimmende Dateien in einem Verzeichnis finden
- 38. Temporäre Protokolldateien
- Lösungen
- 32. Pascalsches Dreieck
- 33. Tabellarische Ausgabe einer Liste von Prozessen
- 34. Leere Zeilen aus einer Textdatei entfernen
- 35. Die Größe eines Verzeichnisses berechnen
- 36. Dateien löschen, die ein gegebenes Alter überschritten haben
- 37. Mit einem regulären Ausdruck übereinstimmende Dateien in einem Verzeichnis finden
- 38. Temporäre Protokolldateien
-
5 Datum und Uhrzeit
- Aufgaben
- 39. Die Ausführungszeit von Funktionen messen
- 40. Anzahl der Tage zwischen zwei Kalenderdaten
- 41. Wochentage
- 42. Kalendertag und Kalenderwoche
- 43. Termine für mehrere Zeitzonen
- 44. Monatskalender
- Lösungen
- 39. Die Ausführungszeit von Funktionen messen
- 40. Anzahl der Tage zwischen zwei Kalenderdaten
- 41. Wochentage
- 42. Kalendertag und Kalenderwoche
- 43. Termine für mehrere Zeitzonen
- 44. Monatskalender
-
6 Algorithmen und Datenstrukturen
- Aufgaben
- 45. Prioritätswarteschlange
- 46. Zyklischer Puffer
- 47. Doppelpuffer
- 48. Häufigstes Element in einem Bereich
- 49. Texthistogramm
- 50. Eine Liste von Telefonnummern filtern
- 51. Eine Liste von Telefonnummern umwandeln
- 52. Alle Permutationen eines Strings generieren
- 53. Durchschnittliche Bewertung von Filmen
- 54. Paarbildungsalgorithmus
- 55. Reißverschlussalgorithmus
- 56. Auswahlalgorithmus
- 57. Sortieralgorithmus
- 58. Kürzester Pfad zwischen zwei Knoten
- 59. Wieselprogramm
- 60. Spiel des Lebens
- Lösungen
- 45. Prioritätswarteschlange
- 46. Zyklischer Puffer
- 47. Doppelpuffer
- 48. Häufigstes Element in einem Bereich
- 49. Texthistogramm
- 50. Eine Liste von Telefonnummern filtern
- 51. Eine Liste von Telefonnummern umwandeln
- 52. Alle Permutationen eines Strings generieren
- 53. Durchschnittliche Bewertung von Filmen
- 54. Paarbildungsalgorithmus
- 55. Reißverschlussalgorithmus
- 56. Auswahlalgorithmus
- 57. Sortieralgorithmus
- 58. Kürzester Pfad zwischen zwei Knoten
- 59. Wieselprogramm
- 60. Spiel des Lebens
-
7 Parallelität
- Aufgaben
- 61. Paralleler Transformationsalgorithmus
- 62. Parallele Minimum- und Maximumalgorithmen mithilfe von Threads
- 63. Parallele Minimum- und Maximumalgorithmen mithilfe von asynchronen Funktionen
- 64. Paralleler Sortieralgorithmus
- 65. Threadsichere Konsolenausgabe
- 66. Kundendienstsystem
- Lösungen
- 61. Paralleler Transformationsalgorithmus
- 62. Parallele Minimum- und Maximumalgorithmen mithilfe von Threads
- 63. Parallele Minimum- und Maximumalgorithmen mithilfe von asynchronen Funktionen
- 64. Paralleler Sortieralgorithmus
- 65. Threadsichere Konsolenausgabe
- 66. Kundendienstsystem
-
8 Entwurfsmuster
- Aufgaben
- 67. Passwörter validieren
- 68. Zufällige Passwörter generieren
- 69. Sozialversicherungsnummern generieren
- 70. Genehmigungssystem
- 71. Beobachtbarer Vektor
- 72. Auftragspreise mit Rabatten berechnen
- Lösungen
- 67. Passwörter validieren
- 68. Zufällige Passwörter generieren
- 69. Sozialversicherungsnummern generieren
- 70. Genehmigungssystem
- 71. Beobachtbarer Vektor
- 72. Auftragspreise mit Rabatten berechnen
-
9 Datenserialisierung
- Aufgaben
- 73. Daten ins XML-Format serialisieren und XML-Daten deserialisieren
- 74. XML-Daten mit XPath auswählen
- 75. Daten ins JSON-Format serialisieren
- 76. JSON-Daten deserialisieren
- 77. Eine Liste von Filmen in eine PDF-Datei schreiben
- 78. Eine PDF-Datei aus einer Sammlung von Bildern erstellen
- Lösungen
- 73. Daten ins XML-Format serialisieren und XML-Daten deserialisieren
- 74. XML-Daten mit XPath auswählen
- 75. Daten ins JSON-Format serialisieren
- 76. JSON-Daten deserialisieren
- 77. Eine Liste von Filmen in eine PDF-Datei schreiben
- 78. Eine PDF-Datei aus einer Sammlung von Bildern erstellen
-
10 Archive, Bilder und Datenbanken
- Aufgaben
- 79. Dateien in einem Zip-Archiv finden
- 80. Dateien zu einem Zip-Archiv komprimieren und Zip-Archive entpacken
- 81. Dateien zu einem passwortgeschützten Zip-Archiv komprimieren und passwortgeschützte Zip-Archive entpacken
- 82. Ein PNG-Bild zur Darstellung einer Nationalflagge erstellen
- 83. PNG-Bilder für ein Captcha erstellen
- 84. EAN-13-Balkencodegenerator
- 85. Filminformationen aus einer SQLite-Datenbank lesen
- 86. Filminformationen per Transaktion in eine SQLite-Datenbank einfügen
- 87. Mediendateien in einer SQLite-Datenbank verwenden
- Lösungen
- 79. Dateien in einem Zip-Archiv finden
- 80. Dateien zu einem Zip-Archiv komprimieren und Zip-Archive entpacken
- 81. Dateien zu einem passwortgeschützten Zip-Archiv komprimieren und passwortgeschützte Zip-Archive entpacken
- 82. Ein PNG-Bild zur Darstellung einer Nationalflagge erstellen
- 83. PNG-Bilder für ein Captcha erstellen
- 84. EAN-13-Balkencodegenerator
- 85. Filminformationen aus einer SQLite-Datenbank lesen
- 86. Filminformationen per Transaktion in eine SQLite-Datenbank einfügen
- 87. Mediendateien in einer SQLite-Datenbank verwenden
-
11 Kryptografie
- Aufgaben
- 88. Caesar-Chiffre
- 89. Vigenère-Chiffre
- 90. Base64-Codierung und -Decodierung
- 91. Benutzeranmeldeinformationen validieren
- 92. Dateihashes berechnen
- 93. Dateien ver- und entschlüsseln
- 94. Dateien signieren
- Lösungen
- 88. Caesar-Chiffre
- 89. Vigenère-Chiffre
- 90. Base64-Codierung und -Decodierung
- 91. Benutzeranmeldeinformationen validieren
- 92. Dateihashes berechnen
- 93. Dateien ver- und entschlüsseln
- 94. Dateien signieren
-
12 Netzwerke und Dienste
- Aufgaben
- 95. Die IP-Adresse eines Hosts ermitteln
- 96. Client-Server-Anwendung für Fizz-Buzz
- 97. Bitcoin-Wechselkurse
- 98. E-Mails mit IMAP abrufen
- 99. Text in beliebige Sprachen übersetzen
- 100. Gesichter in Bildern erkennen
- Lösungen
- 95. Die IP-Adresse eines Hosts ermitteln
- 96. Client-Server-Anwendung für Fizz-Buzz
- 97. Bitcoin-Wechselkurse
- 98. E-Mails mit IMAP abrufen
- 99. Text in beliebige Sprachen übersetzen
- 100. Gesichter in Bildern erkennen
- Literatur
- Stichwortverzeichnis
Product information
- Title: Die C++-Challenge
- Author(s):
- Release date: December 2018
- Publisher(s): dpunkt
- ISBN: 9783864906268
You might also like
book
Produktiv programmieren
Wer seine Brötchen mit Software-Entwicklung verdient, braucht Strategien, um besser, schneller und kostengünstiger zu programmieren. Dieses …
book
Go – Das Praxisbuch
Go ist bei aktuellen Umfragen unter Entwicklern immer unter den Top 5 der Programmiersprachen, die man …
book
Mathematik
Haben Sie kürzlich eine Wasserstoffbombe oder ein Nuklearunterseeboot verloren und fragen sich, wie eine vernünftige Suchstrategie …
book
Der Geek-Atlas
Der Geek-Atlas listet 128 Orte auf der gesamte Welt auf, wo Wissenschaft, Mathematik oder Technik erlebt …