Die C++-Challenge

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

  1. Cover
  2. Titel
  3. Impressum
  4. Inhalt
  5. Vorwort
    1. Zielgruppe
    2. Der Inhalt dieses Buches
    3. Die bestmögliche Nutzung dieses Buches
    4. Das Begleitmaterial herunterladen
    5. Den Code erstellen
    6. Projekte für Visual Studio 2017 generieren
    7. Projekte für Xcode generieren
    8. Schreibweisen
  6. 1 Mathematische Aufgaben
    1. Aufgaben
    2. 1. Summe der durch 3 und 5 teilbaren natürlichen Zahlen
    3. 2. Größter gemeinsamer Teiler
    4. 3. Kleinstes gemeinsames Vielfaches
    5. 4. Größte Primzahl kleiner als die gegebene Zahl
    6. 5. Sexy Primzahlpaare
    7. 6. Abundante Zahlen
    8. 7. Befreundete Zahlen
    9. 8. Armstrong-Zahlen
    10. 9. Primfaktorzerlegung
    11. 10. Gray-Code
    12. 11. Numerische Werte in römische Zahlen umwandeln
    13. 12. Größte Collatz-Folge
    14. 13. Den Wert von Pi berechnen
    15. 14. ISBNs validieren
    16. Lösungen
    17. 1. Summe der durch 3 und 5 teilbaren natürlichen Zahlen
    18. 2. Größter gemeinsamer Teiler
    19. 3. Kleinstes gemeinsames Vielfaches
    20. 4. Größte Primzahl kleiner als die gegebene Zahl
    21. 5. Sexy Primzahlpaare
    22. 6. Abundante Zahlen
    23. 7. Befreundete Zahlen
    24. 8. Armstrong-Zahlen
    25. 9. Primfaktorzerlegung
    26. 10. Gray-Code
    27. 11. Numerische Werte in römische Zahlen umwandeln
    28. 12. Größte Collatz-Folge
    29. 13. Den Wert von Pi berechnen
    30. 14. ISBNs validieren
  7. 2 Sprachmerkmale
    1. Aufgaben
    2. 15. Datentyp für IPv4
    3. 16. Die IPv4-Adressen eines Bereichs auflisten
    4. 17. Ein 2D-Array mit grundlegenden Operationen erstellen
    5. 18. Minimumfunktion mit beliebiger Anzahl von Argumenten
    6. 19. Werte zu einem Container hinzufügen
    7. 20. Vorhandensein von Elementen in einem Container prüfen
    8. 21. Wrapper für ein System-Handle
    9. 22. Literale für Temperatureinheiten
    10. Lösungen
    11. 15. Datentyp für IPv4
    12. 16. Die IPv4-Adressen eines Bereichs auflisten
    13. 17. Ein 2D-Array mit grundlegenden Operationen erstellen
    14. 18. Minimumfunktion mit beliebiger Anzahl von Argumenten
    15. 19. Werte zu einem Container hinzufügen
    16. 20. Vorhandensein von Elementen in einem Container prüfen
    17. 21. Wrapper für ein System-Handle
    18. 22. Literale für Temperatureinheiten
  8. 3 Strings und reguläre Ausdrücke
    1. Aufgaben
    2. 23. Binärwerte in Strings konvertieren
    3. 24. Strings in Binärwerte konvertieren
    4. 25. Großschreibung eines englischen Artikeltitels
    5. 26. Strings verknüpfen
    6. 27. Strings aufteilen
    7. 28. Längster Palindrom-Teilstring
    8. 29. Kfz-Kennzeichen validieren
    9. 30. URL-Bestandteile extrahieren
    10. 31. Datumsangaben in Strings umwandeln
    11. Lösungen
    12. 23. Binärwerte in Strings konvertieren
    13. 24. Strings in Binärwerte konvertieren
    14. 25. Großschreibung eines englischen Artikeltitels
    15. 26. Strings verknüpfen
    16. 27. Strings aufteilen
    17. 28. Längster Palindrom-Teilstring
    18. 29. Kfz-Kennzeichen validieren
    19. 30. URL-Bestandteile extrahieren
    20. 31. Datumsangaben in Strings umwandeln
  9. 4 Streams und Dateisysteme
    1. Aufgaben
    2. 32. Pascalsches Dreieck
    3. 33. Tabellarische Ausgabe einer Liste von Prozessen
    4. 34. Leere Zeilen aus einer Textdatei entfernen
    5. 35. Die Größe eines Verzeichnisses berechnen
    6. 36. Dateien löschen, die ein gegebenes Alter überschritten haben
    7. 37. Mit einem regulären Ausdruck übereinstimmende Dateien in einem Verzeichnis finden
    8. 38. Temporäre Protokolldateien
    9. Lösungen
    10. 32. Pascalsches Dreieck
    11. 33. Tabellarische Ausgabe einer Liste von Prozessen
    12. 34. Leere Zeilen aus einer Textdatei entfernen
    13. 35. Die Größe eines Verzeichnisses berechnen
    14. 36. Dateien löschen, die ein gegebenes Alter überschritten haben
    15. 37. Mit einem regulären Ausdruck übereinstimmende Dateien in einem Verzeichnis finden
    16. 38. Temporäre Protokolldateien
  10. 5 Datum und Uhrzeit
    1. Aufgaben
    2. 39. Die Ausführungszeit von Funktionen messen
    3. 40. Anzahl der Tage zwischen zwei Kalenderdaten
    4. 41. Wochentage
    5. 42. Kalendertag und Kalenderwoche
    6. 43. Termine für mehrere Zeitzonen
    7. 44. Monatskalender
    8. Lösungen
    9. 39. Die Ausführungszeit von Funktionen messen
    10. 40. Anzahl der Tage zwischen zwei Kalenderdaten
    11. 41. Wochentage
    12. 42. Kalendertag und Kalenderwoche
    13. 43. Termine für mehrere Zeitzonen
    14. 44. Monatskalender
  11. 6 Algorithmen und Datenstrukturen
    1. Aufgaben
    2. 45. Prioritätswarteschlange
    3. 46. Zyklischer Puffer
    4. 47. Doppelpuffer
    5. 48. Häufigstes Element in einem Bereich
    6. 49. Texthistogramm
    7. 50. Eine Liste von Telefonnummern filtern
    8. 51. Eine Liste von Telefonnummern umwandeln
    9. 52. Alle Permutationen eines Strings generieren
    10. 53. Durchschnittliche Bewertung von Filmen
    11. 54. Paarbildungsalgorithmus
    12. 55. Reißverschlussalgorithmus
    13. 56. Auswahlalgorithmus
    14. 57. Sortieralgorithmus
    15. 58. Kürzester Pfad zwischen zwei Knoten
    16. 59. Wieselprogramm
    17. 60. Spiel des Lebens
    18. Lösungen
    19. 45. Prioritätswarteschlange
    20. 46. Zyklischer Puffer
    21. 47. Doppelpuffer
    22. 48. Häufigstes Element in einem Bereich
    23. 49. Texthistogramm
    24. 50. Eine Liste von Telefonnummern filtern
    25. 51. Eine Liste von Telefonnummern umwandeln
    26. 52. Alle Permutationen eines Strings generieren
    27. 53. Durchschnittliche Bewertung von Filmen
    28. 54. Paarbildungsalgorithmus
    29. 55. Reißverschlussalgorithmus
    30. 56. Auswahlalgorithmus
    31. 57. Sortieralgorithmus
    32. 58. Kürzester Pfad zwischen zwei Knoten
    33. 59. Wieselprogramm
    34. 60. Spiel des Lebens
  12. 7 Parallelität
    1. Aufgaben
    2. 61. Paralleler Transformationsalgorithmus
    3. 62. Parallele Minimum- und Maximumalgorithmen mithilfe von Threads
    4. 63. Parallele Minimum- und Maximumalgorithmen mithilfe von asynchronen Funktionen
    5. 64. Paralleler Sortieralgorithmus
    6. 65. Threadsichere Konsolenausgabe
    7. 66. Kundendienstsystem
    8. Lösungen
    9. 61. Paralleler Transformationsalgorithmus
    10. 62. Parallele Minimum- und Maximumalgorithmen mithilfe von Threads
    11. 63. Parallele Minimum- und Maximumalgorithmen mithilfe von asynchronen Funktionen
    12. 64. Paralleler Sortieralgorithmus
    13. 65. Threadsichere Konsolenausgabe
    14. 66. Kundendienstsystem
  13. 8 Entwurfsmuster
    1. Aufgaben
    2. 67. Passwörter validieren
    3. 68. Zufällige Passwörter generieren
    4. 69. Sozialversicherungsnummern generieren
    5. 70. Genehmigungssystem
    6. 71. Beobachtbarer Vektor
    7. 72. Auftragspreise mit Rabatten berechnen
    8. Lösungen
    9. 67. Passwörter validieren
    10. 68. Zufällige Passwörter generieren
    11. 69. Sozialversicherungsnummern generieren
    12. 70. Genehmigungssystem
    13. 71. Beobachtbarer Vektor
    14. 72. Auftragspreise mit Rabatten berechnen
  14. 9 Datenserialisierung
    1. Aufgaben
    2. 73. Daten ins XML-Format serialisieren und XML-Daten deserialisieren
    3. 74. XML-Daten mit XPath auswählen
    4. 75. Daten ins JSON-Format serialisieren
    5. 76. JSON-Daten deserialisieren
    6. 77. Eine Liste von Filmen in eine PDF-Datei schreiben
    7. 78. Eine PDF-Datei aus einer Sammlung von Bildern erstellen
    8. Lösungen
    9. 73. Daten ins XML-Format serialisieren und XML-Daten deserialisieren
    10. 74. XML-Daten mit XPath auswählen
    11. 75. Daten ins JSON-Format serialisieren
    12. 76. JSON-Daten deserialisieren
    13. 77. Eine Liste von Filmen in eine PDF-Datei schreiben
    14. 78. Eine PDF-Datei aus einer Sammlung von Bildern erstellen
  15. 10 Archive, Bilder und Datenbanken
    1. Aufgaben
    2. 79. Dateien in einem Zip-Archiv finden
    3. 80. Dateien zu einem Zip-Archiv komprimieren und Zip-Archive entpacken
    4. 81. Dateien zu einem passwortgeschützten Zip-Archiv komprimieren und passwortgeschützte Zip-Archive entpacken
    5. 82. Ein PNG-Bild zur Darstellung einer Nationalflagge erstellen
    6. 83. PNG-Bilder für ein Captcha erstellen
    7. 84. EAN-13-Balkencodegenerator
    8. 85. Filminformationen aus einer SQLite-Datenbank lesen
    9. 86. Filminformationen per Transaktion in eine SQLite-Datenbank einfügen
    10. 87. Mediendateien in einer SQLite-Datenbank verwenden
    11. Lösungen
    12. 79. Dateien in einem Zip-Archiv finden
    13. 80. Dateien zu einem Zip-Archiv komprimieren und Zip-Archive entpacken
    14. 81. Dateien zu einem passwortgeschützten Zip-Archiv komprimieren und passwortgeschützte Zip-Archive entpacken
    15. 82. Ein PNG-Bild zur Darstellung einer Nationalflagge erstellen
    16. 83. PNG-Bilder für ein Captcha erstellen
    17. 84. EAN-13-Balkencodegenerator
    18. 85. Filminformationen aus einer SQLite-Datenbank lesen
    19. 86. Filminformationen per Transaktion in eine SQLite-Datenbank einfügen
    20. 87. Mediendateien in einer SQLite-Datenbank verwenden
  16. 11 Kryptografie
    1. Aufgaben
    2. 88. Caesar-Chiffre
    3. 89. Vigenère-Chiffre
    4. 90. Base64-Codierung und -Decodierung
    5. 91. Benutzeranmeldeinformationen validieren
    6. 92. Dateihashes berechnen
    7. 93. Dateien ver- und entschlüsseln
    8. 94. Dateien signieren
    9. Lösungen
    10. 88. Caesar-Chiffre
    11. 89. Vigenère-Chiffre
    12. 90. Base64-Codierung und -Decodierung
    13. 91. Benutzeranmeldeinformationen validieren
    14. 92. Dateihashes berechnen
    15. 93. Dateien ver- und entschlüsseln
    16. 94. Dateien signieren
  17. 12 Netzwerke und Dienste
    1. Aufgaben
    2. 95. Die IP-Adresse eines Hosts ermitteln
    3. 96. Client-Server-Anwendung für Fizz-Buzz
    4. 97. Bitcoin-Wechselkurse
    5. 98. E-Mails mit IMAP abrufen
    6. 99. Text in beliebige Sprachen übersetzen
    7. 100. Gesichter in Bildern erkennen
    8. Lösungen
    9. 95. Die IP-Adresse eines Hosts ermitteln
    10. 96. Client-Server-Anwendung für Fizz-Buzz
    11. 97. Bitcoin-Wechselkurse
    12. 98. E-Mails mit IMAP abrufen
    13. 99. Text in beliebige Sprachen übersetzen
    14. 100. Gesichter in Bildern erkennen
  18. Literatur
    1. Artikel
    2. Dokumentation der Bibliotheken
  19. Stichwortverzeichnis

Product information

  • Title: Die C++-Challenge
  • Author(s): Marius Bancila
  • Release date: December 2018
  • Publisher(s): dpunkt
  • ISBN: 9783864906268