The modern C++ challenge become an expert programmer by solving real-world problems

C++ is one of the most widely-used programming languages and has applications in a variety of fields, such as gaming, GUI programming, and operating systems, to name a few. Through the years, C++ has evolved into (and remains) one of the top choices for software developers worldwide. This book will...

Descripción completa

Detalles Bibliográficos
Otros Autores: Bancila, Marius, author (author)
Formato: Libro electrónico
Idioma:Inglés
Publicado: Birmingham ; Mumbai : Packt Publishing 2018.
Edición:1st ed
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009686247906719
Tabla de Contenidos:
  • Cover
  • Title Page
  • Copyright and Credits
  • Packt Upsell
  • Contributors
  • Table of Contents
  • Preface
  • Chapter 1: Math Problems
  • Problems
  • 1. Sum of naturals divisible by 3 and 5
  • 2. Greatest common divisor
  • 3. Least common multiple
  • 4. Largest prime smaller than given number
  • 5. Sexy prime pairs
  • 6. Abundant numbers
  • 7. Amicable numbers
  • 8. Armstrong numbers
  • 9. Prime factors of a number
  • 10. Gray code
  • 11. Converting numerical values to Roman
  • 12. Largest Collatz sequence
  • 13. Computing the value of Pi
  • 14. Validating ISBNs
  • Solutions
  • 1. Sum of naturals divisible by 3 and 5
  • 2. Greatest common divisor
  • 3. Least common multiple
  • 4. Largest prime smaller than given number
  • 5. Sexy prime pairs
  • 6. Abundant numbers
  • 7. Amicable numbers
  • 8. Armstrong numbers
  • 9. Prime factors of a number
  • 10. Gray code
  • 11. Converting numerical values to Roman
  • 12. Largest Collatz sequence
  • 13. Computing the value of Pi
  • 14. Validating ISBNs
  • Chapter 2: Language Features
  • Problems
  • 15. IPv4 data type
  • 16. Enumerating IPv4 addresses in a range
  • 17. Creating a 2D array with basic operations
  • 18. Minimum function with any number of arguments
  • 19. Adding a range of values to a container
  • 20. Container any, all, none
  • 21. System handle wrapper
  • 22. Literals of various temperature scales
  • Solutions
  • 15. IPv4 data type
  • 16. Enumerating IPv4 addresses in a range
  • 17. Creating a 2D array with basic operations
  • 18. Minimum function with any number of arguments
  • 19. Adding a range of values to a container
  • 20. Container any, all, none
  • 21. System handle wrapper
  • 22. Literals of various temperature scales
  • Chapter 3: Strings and Regular Expressions
  • Problems
  • 23. Binary to string conversion
  • 24. String to binary conversion
  • 25. Capitalizing an article title.
  • 26. Joining strings together separated by a delimiter
  • 27. Splitting a string into tokens with a list of possible delimiters
  • 28. Longest palindromic substring
  • 29. License plate validation
  • 30. Extracting URL parts
  • 31. Transforming dates in strings
  • Solutions
  • 23. Binary to string conversion
  • 24. String to binary conversion
  • 25. Capitalizing an article title
  • 26. Joining strings together separated by a delimiter
  • 27. Splitting a string into tokens with a list of possible delimiters
  • 28. Longest palindromic substring
  • 29. License plate validation
  • 30. Extracting URL parts
  • 31. Transforming dates in strings
  • Chapter 4: Streams and Filesystems
  • Problems
  • 32. Pascal's triangle
  • 33. Tabular printing of a list of processes
  • 34. Removing empty lines from a text file
  • 35. Computing the size of a directory
  • 36. Deleting files older than a given date
  • 37. Finding files in a directory that match a regular expression
  • 38. Temporary log files
  • Solutions
  • 32. Pascal's triangle
  • 33. Tabular printing of a list of processes
  • 34. Removing empty lines from a text file
  • 35. Computing the size of a directory
  • 36. Deleting files older than a given date
  • 37. Finding files in a directory that match a regular expression
  • 38. Temporary log files
  • Chapter 5: Date and Time
  • Problems
  • 39. Measuring function execution time
  • 40. Number of days between two dates
  • 41. Day of the week
  • 42. Day and week of the year
  • 43. Meeting time for multiple time zones
  • 44. Monthly calendar
  • Solutions
  • 39. Measuring function execution time
  • 40. Number of days between two dates
  • 41. Day of the week
  • 42. Day and week of the year
  • 43. Meeting time for multiple time zones
  • 44. Monthly calendar
  • Chapter 6: Algorithms and Data Structures
  • Problems
  • 45. Priority queue
  • 46. Circular buffer.
  • 47. Double buffer
  • 48. The most frequent element in a range
  • 49. Text histogram
  • 50. Filtering a list of phone numbers
  • 51. Transforming a list of phone numbers
  • 52. Generating all the permutations of a string
  • 53. Average rating of movies
  • 54. Pairwise algorithm
  • 55. Zip algorithm
  • 56. Select algorithm
  • 57. Sort algorithm
  • 58. The shortest path between nodes
  • 59. The Weasel program
  • 60. The Game of Life
  • Solutions
  • 45. Priority queue
  • 46. Circular buffer
  • 47. Double buffer
  • 48. The most frequent element in a range
  • 49. Text histogram
  • 50. Filtering a list of phone numbers
  • 51. Transforming a list of phone numbers
  • 52. Generating all the permutations of a string
  • 53. Average rating of movies
  • 54. Pairwise algorithm
  • 55. Zip algorithm
  • 56. Select algorithm
  • 57. Sort algorithm
  • 58. The shortest path between nodes
  • 59. The Weasel program
  • 60. The Game of Life
  • Chapter 7: Concurrency
  • Problems
  • 61. Parallel transform algorithm
  • 62. Parallel min and max element algorithms using threads
  • 63. Parallel min and max element algorithms using asynchronous functions
  • 64. Parallel sort algorithm
  • 65. Thread-safe logging to the console
  • 66. Customer service system
  • Solutions
  • 61. Parallel transform algorithm
  • 62. Parallel min and max element algorithms using threads
  • 63. Parallel min and max element algorithms using asynchronous functions
  • 64. Parallel sort algorithm
  • 65. Thread-safe logging to the console
  • 66. Customer service system
  • Chapter 8: Design Patterns
  • Problems
  • 67. Validating passwords
  • 68. Generating random passwords
  • 69. Generating social security numbers
  • 70. Approval system
  • 71. Observable vector container
  • 72. Computing order price with discounts
  • Solutions
  • 67. Validating passwords
  • 68. Generating random passwords.
  • 69. Generating social security numbers
  • 70. Approval system
  • 71. Observable vector container
  • 72. Computing order price with discounts
  • Chapter 9: Data Serialization
  • Problems
  • 73. Serializing and deserializing data to/from XML
  • 74. Selecting data from XML using XPath
  • 75. Serializing data to JSON
  • 76. Deserializing data from JSON
  • 77. Printing a list of movies to a PDF
  • 78. Creating a PDF from a collection of images
  • Solutions
  • 73. Serializing and deserializing data to/from XML
  • 74. Selecting data from XML using XPath
  • 75. Serializing data to JSON
  • 76. Deserializing data from JSON
  • 77. Printing a list of movies to a PDF
  • 78. Creating a PDF from a collection of images
  • Chapter 10: Archives, Images, and Databases
  • Problems
  • 79. Finding files in a ZIP archive
  • 80. Compressing and decompressing files to/from a ZIP archive
  • 81. Compressing and decompressing files to/from a ZIP archive with a password
  • 82. Creating a PNG that represents a national flag
  • 83. Creating verification text PNG images
  • 84. EAN-13 barcode generator
  • 85. Reading movies from an SQLite database
  • 86. Inserting movies into an SQLite database transactionally
  • 87. Handling movie images in an SQLite database
  • Solutions
  • 79. Finding files in a ZIP archive
  • 80. Compressing and decompressing files to/from a ZIP archive
  • 81. Compressing and decompressing files to/from a ZIP archive with password
  • 82. Creating a PNG that represents a national flag
  • 83. Creating verification text PNG images
  • 84. EAN-13 barcode generator
  • 85. Reading movies from an SQLite database
  • 86. Inserting movies into an SQLite database
  • 87. Handling movie images in an SQLite database
  • Chapter 11: Cryptography
  • Problems
  • 88. Caesar cipher
  • 89. Vigenère cipher
  • 90. Base64 encoding and decoding
  • 91. Validating user credentials.
  • 92. Computing file hashes
  • 93. Encrypting and decrypting files
  • 94. File signing
  • Solutions
  • 88. Caesar cipher
  • 89. Vigenère cipher
  • 90. Base64 encoding and decoding
  • 91. Validating user credentials
  • 92. Computing file hashes
  • 93. Encrypting and decrypting files
  • 94. File signing
  • Chapter 12: Networking and Services
  • Problems
  • 95. Finding the IP address of a host
  • 96. Client-server Fizz-Buzz
  • 97. Bitcoin exchange rates
  • 98. Fetching emails using IMAP
  • 99. Translating text to any language
  • 100. Detecting faces in a picture
  • Solutions
  • 95. Finding the IP address of a host
  • 96. Client-server Fizz-Buzz
  • 97. Bitcoin exchange rates
  • 98. Fetching emails using IMAP
  • 99. Translating text to any language
  • 100. Detecting faces in a picture
  • Bibliography
  • Other Books You May Enjoy
  • Index.