Categories
Ebooks
-
Business and economy
- Bitcoin
- Businesswoman
- Coaching
- Controlling
- E-business
- Economy
- Finances
- Stocks and investments
- Personal competence
- Computer in the office
- Communication and negotiation
- Small company
- Marketing
- Motivation
- Multimedia trainings
- Real estate
- Persuasion and NLP
- Taxes
- Social policy
- Guides
- Presentations
- Leadership
- Public Relation
- Reports, analyses
- Secret
- Social Media
- Sales
- Start-up
- Your career
- Management
- Project management
- Human Resources
-
For children
-
For youth
-
Education
-
Encyclopedias, dictionaries
-
E-press
- Architektura i wnętrza
- Biznes i Ekonomia
- Home and garden
- E-business
- Finances
- Personal finance
- Business
- Photography
- Computer science
- HR & Payroll
- Computers, Excel
- Accounts
- Culture and literature
- Scientific and academic
- Environmental protection
- Opinion-forming
- Education
- Taxes
- Travelling
- Psychology
- Religion
- Agriculture
- Book and press market
- Transport and Spedition
- Healthand beauty
-
History
-
Computer science
- Office applications
- Data bases
- Bioinformatics
- IT business
- CAD/CAM
- Digital Lifestyle
- DTP
- Electronics
- Digital photography
- Computer graphics
- Games
- Hacking
- Hardware
- IT w ekonomii
- Scientific software package
- School textbooks
- Computer basics
- Programming
- Mobile programming
- Internet servers
- Computer networks
- Start-up
- Operational systems
- Artificial intelligence
- Technology for children
- Webmastering
-
Other
-
Foreign languages
-
Culture and art
-
School reading books
-
Literature
- Antology
- Ballade
- Biographies and autobiographies
- For adults
- Dramas
- Diaries, memoirs, letters
- Epic, epopee
- Essay
- Fantasy and science fiction
- Feuilletons
- Work of fiction
- Humour and satire
- Other
- Classical
- Crime fiction
- Non-fiction
- Fiction
- Mity i legendy
- Nobelists
- Novellas
- Moral
- Okultyzm i magia
- Short stories
- Memoirs
- Travelling
- Narrative poetry
- Poetry
- Politics
- Popular science
- Novel
- Historical novel
- Prose
- Adventure
- Journalism, publicism
- Reportage novels
- Romans i literatura obyczajowa
- Sensational
- Thriller, Horror
- Interviews and memoirs
-
Natural sciences
-
Social sciences
-
School textbooks
-
Popular science and academic
- Archeology
- Bibliotekoznawstwo
- Cinema studies
- Philology
- Polish philology
- Philosophy
- Finanse i bankowość
- Geography
- Economy
- Trade. World economy
- History and archeology
- History of art and architecture
- Cultural studies
- Linguistics
- Literary studies
- Logistics
- Maths
- Medicine
- Humanities
- Pedagogy
- Educational aids
- Popular science
- Other
- Psychology
- Sociology
- Theatre studies
- Theology
- Economic theories and teachings
- Transport i spedycja
- Physical education
- Zarządzanie i marketing
-
Guides
-
Game guides
-
Professional and specialist guides
-
Law
- Health and Safety
- History
- Road Code. Driving license
- Law studies
- Healthcare
- General. Compendium of knowledge
- Academic textbooks
- Other
- Construction and local law
- Civil law
- Financial law
- Economic law
- Economic and trade law
- Criminal law
- Criminal law. Criminal offenses. Criminology
- International law
- International law
- Health care law
- Educational law
- Tax law
- Labor and social security law
- Public, constitutional and administrative law
- Family and Guardianship Code
- agricultural law
- Social law, labour law
- European Union law
- Industry
- Agricultural and environmental
- Dictionaries and encyclopedia
- Public procurement
- Management
-
Tourist guides and travel
- Africa
- Albums
- Southern America
- North and Central America
- Australia, New Zealand, Oceania
- Austria
- Asia
- Balkans
- Middle East
- Bulgary
- China
- Croatia
- The Czech Republic
- Denmark
- Egipt
- Estonia
- Europe
- France
- Mountains
- Greece
- Spain
- Holand
- Iceland
- Lithuania
- Latvia
- Mapy, Plany miast, Atlasy
- Mini travel guides
- Germany
- Norway
- Active travelling
- Poland
- Portugal
- Other
- Russia
- Romania
- Slovakia
- Slovenia
- Switzerland
- Sweden
- World
- Turkey
- Ukraine
- Hungary
- Great Britain
- Italy
-
Psychology
- Philosophy of life
- Kompetencje psychospołeczne
- Interpersonal communication
- Mindfulness
- General
- Persuasion and NLP
- Academic psychology
- Psychology of soul and mind
- Work psychology
- Relacje i związki
- Parenting and children psychology
- Problem solving
- Intellectual growth
- Secret
- Sexapeal
- Seduction
- Appearance and image
- Philosophy of life
-
Religion
-
Sport, fitness, diets
-
Technology and mechanics
Audiobooks
-
Business and economy
- Bitcoin
- Businesswoman
- Coaching
- Controlling
- E-business
- Economy
- Finances
- Stocks and investments
- Personal competence
- Communication and negotiation
- Small company
- Marketing
- Motivation
- Real estate
- Persuasion and NLP
- Taxes
- Guides
- Presentations
- Leadership
- Public Relation
- Secret
- Social Media
- Sales
- Start-up
- Your career
- Management
- Project management
- Human Resources
-
For children
-
For youth
-
Education
-
Encyclopedias, dictionaries
-
History
-
Computer science
-
Other
-
Foreign languages
-
Culture and art
-
School reading books
-
Literature
- Antology
- Ballade
- Biographies and autobiographies
- For adults
- Dramas
- Diaries, memoirs, letters
- Epic, epopee
- Essay
- Fantasy and science fiction
- Feuilletons
- Work of fiction
- Humour and satire
- Other
- Classical
- Crime fiction
- Non-fiction
- Fiction
- Mity i legendy
- Nobelists
- Novellas
- Moral
- Okultyzm i magia
- Short stories
- Memoirs
- Travelling
- Poetry
- Politics
- Popular science
- Novel
- Historical novel
- Prose
- Adventure
- Journalism, publicism
- Reportage novels
- Romans i literatura obyczajowa
- Sensational
- Thriller, Horror
- Interviews and memoirs
-
Natural sciences
-
Social sciences
-
Popular science and academic
-
Guides
-
Professional and specialist guides
-
Law
-
Tourist guides and travel
-
Psychology
- Philosophy of life
- Interpersonal communication
- Mindfulness
- General
- Persuasion and NLP
- Academic psychology
- Psychology of soul and mind
- Work psychology
- Relacje i związki
- Parenting and children psychology
- Problem solving
- Intellectual growth
- Secret
- Sexapeal
- Seduction
- Appearance and image
- Philosophy of life
-
Religion
-
Sport, fitness, diets
-
Technology and mechanics
Videocourses
-
Data bases
-
Big Data
-
Biznes, ekonomia i marketing
-
Cybersecurity
-
Data Science
-
DevOps
-
For children
-
Electronics
-
Graphics/Video/CAX
-
Games
-
Microsoft Office
-
Development tools
-
Programming
-
Personal growth
-
Computer networks
-
Operational systems
-
Software testing
-
Mobile devices
-
UX/UI
-
Web development
-
Management
Podcasts
- Ebooks
- Programming
- C++
- Nowoczesny C++. Zbiór praktycznych zadań dla przyszłych ekspertów
E-book details
C++ jest dojrzałym językiem programowania, od wielu lat wykorzystywanym przez profesjonalnych programistów do wielu różnych zastosowań, włączając w to pisanie gier, programowanie GUI czy tworzenie złożonych aplikacji użytkowych. Zaprojektowano go pod kątem maksymalizowania wydajności, jest więc najczęściej wybieranym językiem w sytuacjach, w których najważniejsza jest efektywność działania kodu. Aby jednak wykorzystać te zalety C++, trzeba nauczyć się nim posługiwać. A biegłość w posługiwaniu się językiem programowania przychodzi dzięki regularnym ćwiczeniom i ciągłemu testowaniu nabytych umiejętności. Innymi słowy, trzeba rozwiązywać jak najwięcej różnorodnych, rzeczywistych i praktycznych zadań problemowych.
W tej książce zawarto zestaw 100 zadań o różnym poziomie trudności, ułożonych w taki sposób, aby podczas rozwiązywania móc skorzystać z bogactwa standardowej biblioteki C++ oraz z wielu zewnętrznych bibliotek wieloplatformowych. Zadania rozmieszczono w 12 rozdziałach, z których każdy dotyczy określonego tematu. Są to problemy, których odpowiednie rozwiązanie warunkuje poprawne działanie aplikacji, takie jak bezpieczna komunikacja, szyfrowanie i autoryzacja danych, korzystanie z wątków i funkcji asynchronicznych czy implementacja algorytmów współbieżnych. Proponowane zagadnienia zostały dokładnie opisane, uwzględniono również szereg zaleceń, wyjaśnień i wskazówek. Na wypadek gdyby wykonanie któregoś zadania sprawiało trudności, do książki dołączono kod źródłowy przykładowych rozwiązań.
Ważniejsze zagadnienia ujęte w książce:
- serializacja i deserializacja danych JSON i XML
- praca z bazą danych SQLite
- implementacja takich struktur jak bufor cykliczny i kolejka priorytetowa
- usługi REST i HTTP
- wzorce projektowe w rozwiązywaniu problemów
Oto C++. Podejmiesz wyzwanie i napiszesz kod!
O autorze 9
O recenzentach 10
Przedmowa 11
Rozdział 1. Zadania matematyczne 19
- Zadania 19
- 1. Suma liczb naturalnych podzielnych przez 3 lub 5 19
- 2. Największy wspólny dzielnik 19
- 3. Najmniejsza wspólna wielokrotność 19
- 4. Największa liczba pierwsza mniejsza od podanej 19
- 5. Liczby pierwsze szóstkowe 19
- 6. Liczby obfite 20
- 7. Liczby zaprzyjaźnione 20
- 8. Liczby Armstronga 20
- 9. Czynniki pierwsze liczby 20
- 10. Kod Graya 20
- 11. Przekształcanie liczb arabskich na rzymskie 20
- 12. Najdłuższy ciąg Collatza 20
- 13. Wyznaczanie liczby Pi 20
- 14. Sprawdzanie numerów ISBN 20
- Rozwiązania 21
- 1. Suma liczb naturalnych podzielnych przez 3 lub 5 21
- 2. Największy wspólny dzielnik 21
- 3. Najmniejsza wspólna wielokrotność 22
- 4. Największa liczba pierwsza mniejsza od podanej 23
- 5. Liczby pierwsze szóstkowe 24
- 6. Liczby obfite 24
- 7. Liczby zaprzyjaźnione 25
- 8. Liczby Armstronga 26
- 9. Czynniki pierwsze liczby 27
- 10. Kod Graya 28
- 11. Przekształcanie liczb arabskich na rzymskie 29
- 12. Najdłuższy ciąg Collatza 31
- 13. Wyznaczanie liczby Pi 32
- 14. Sprawdzanie numerów ISBN 33
Rozdział 2. Funkcje języka 35
- Zadania 35
- 15. Typ danych IPv4 35
- 16. Wyliczanie zakresu adresów IPv4 35
- 17. Utworzenie dwuwymiarowej tablicy z podstawowymi operacjami 35
- 18. Funkcja wyznaczająca minimum dla dowolnej liczby argumentów 36
- 19. Dodawanie zakresu wartości do kontenera 36
- 20. Dowolny, wszystkie lub żaden argument w kontenerze 36
- 21. Klasa opakowująca dla uchwytu systemowego 36
- 22. Wyświetlanie różnych skal temperatur 36
- Rozwiązania 37
- 15. Typ danych IPv4 37
- 16. Wyliczanie zakresu adresów IPv4 38
- 17. Utworzenie dwuwymiarowej tablicy z podstawowymi operacjami 40
- 18. Funkcja wyznaczająca minimum dla dowolnej liczby argumentów 42
- 19. Dodawanie zakresu wartości do kontenera 43
- 20. Dowolny, wszystkie lub żaden argument w kontenerze 44
- 21. Klasa opakowująca dla uchwytu systemowego 45
- 22. Wyświetlanie różnych skal temperatur 49
Rozdział 3. Łańcuchy i wyrażenia regularne 53
- Zadania 53
- 23. Zamiana typu binarnego na łańcuch 53
- 24. Zamiana typu łańcuchowego na binarny 53
- 25. Wielkie litery w tytule artykułu 54
- 26. Łączenie łańcuchów oddzielanych separatorem 54
- 27. Dzielenie łańcucha na tokeny z listą możliwych separatorów 54
- 28. Najdłuższy podciąg palindromiczny 54
- 29. Sprawdzanie tablic rejestracyjnych 54
- 30. Wyodrębnianie elementów adresu URL 55
- 31. Przekształcanie dat w łańcuchach 55
- Rozwiązania 56
- 23. Zamiana typu binarnego na łańcuch 56
- 24. Zamiana typu łańcuchowego na binarny 57
- 25. Wielkie litery w tytule artykułu 58
- 26. Łączenie łańcuchów oddzielanych separatorem 59
- 27. Dzielenie łańcucha na tokeny z listą możliwych separatorów 60
- 28. Najdłuższy podciąg palindromiczny 61
- 29. Sprawdzanie tablic rejestracyjnych 63
- 30. Wyodrębnianie elementów adresu URL 64
- 31. Przekształcanie dat w łańcuchach 65
Rozdział 4. Strumienie i systemy plików 67
- Zadania 67
- 32. Trójkąt Pascala 67
- 33. Lista procesów w postaci tabeli 67
- 34. Usuwanie pustych wierszy z pliku tekstowego 68
- 35. Obliczanie rozmiaru katalogu 68
- 36. Usuwanie plików starszych od określonej daty 68
- 37. Wyszukiwanie w katalogu plików, które pasują do wyrażenia regularnego 68
- 38. Tymczasowe pliki logów 68
- Rozwiązania 69
- 32. Trójkąt Pascala 69
- 33. Lista procesów w postaci tabeli 70
- 34. Usuwanie pustych wierszy z pliku tekstowego 72
- 35. Obliczanie rozmiaru katalogu 73
- 36. Usuwanie plików starszych od określonej daty 73
- 37. Wyszukiwanie w katalogu plików, które pasują do wyrażenia regularnego 75
- 38. Tymczasowe pliki logów 76
Rozdział 5. Data i czas 79
- Zadania 79
- 39. Pomiar czasu wykonania funkcji 79
- 40. Liczba dni zawartych między dwiema datami 79
- 41. Dzień tygodnia 79
- 42. Numer dnia i tygodnia w roku 79
- 43. Czasy spotkań dla wielu stref czasowych 80
- 44. Kalendarz miesięczny 80
- Rozwiązania 81
- 39. Pomiar czasu wykonania funkcji 81
- 40. Liczba dni zawartych między dwiema datami 82
- 41. Dzień tygodnia 83
- 42. Numer dnia i tygodnia w roku 83
- 43. Czasy spotkań dla wielu stref czasowych 84
- 44. Kalendarz miesięczny 86
Rozdział 6. Algorytmy i struktury danych 89
- Zadania 89
- 45. Kolejka priorytetowa 89
- 46. Bufor cykliczny 90
- 47. Podwójne buforowanie 90
- 48. Najczęściej występujący element w zbiorze danych 90
- 49. Histogram tekstu 90
- 50. Filtrowanie listy numerów telefonów 91
- 51. Przekształcanie listy numerów telefonów 91
- 52. Generowanie wszystkich permutacji ciągu znaków 91
- 53. Średnia ocena filmów 91
- 54. Algorytm tworzenia par 91
- 55. Algorytm scalania 92
- 56. Algorytm wyboru 92
- 57. Algorytm sortowania 92
- 58. Najkrótsza ścieżka między węzłami 92
- 59. Program Weasel 93
- 60. Gra w życie 93
- Rozwiązania 95
- 45. Kolejka priorytetowa 95
- 46. Bufor cykliczny 97
- 47. Podwójne buforowanie 100
- 48. Najczęściej występujący element w zbiorze danych 102
- 49. Histogram tekstu 103
- 50. Filtrowanie listy numerów telefonów 105
- 51. Przekształcanie listy numerów telefonów 106
- 52. Generowanie wszystkich permutacji ciągu znaków 107
- 53. Średnia ocena filmów 109
- 54. Algorytm tworzenia par 110
- 55. Algorytm scalania 111
- 56. Algorytm wyboru 112
- 57. Algorytm sortowania 113
- 58. Najkrótsza ścieżka między węzłami 116
- 59. Program Weasel 120
- 60. Gra w życie 122
Rozdział 7. Współbieżność 127
- Zadania 127
- 61. Algorytm przekształcania współbieżnego 127
- 62. Algorytmy wyszukiwania współbieżnego minimalnych i maksymalnych elementów w zbiorze przy użyciu wątków 127
- 63. Algorytmy wyszukiwania współbieżnego minimalnych i maksymalnych elementów w zbiorze przy użyciu funkcji asynchronicznych 128
- 64. Algorytm sortowania współbieżnego 128
- 65. Wyświetlanie komunikatów w konsoli w sposób bezpieczny dla wątków 128
- 66. System obsługi klienta 128
- Rozwiązania 129
- 61. Algorytm przekształcania współbieżnego 129
- 62. Algorytmy wyszukiwania współbieżnego minimalnych i maksymalnych elementów w zbiorze przy użyciu wątków 130
- 63. Algorytmy wyszukiwania współbieżnego minimalnych i maksymalnych elementów w zbiorze przy użyciu funkcji asynchronicznych 132
- 64. Algorytm sortowania współbieżnego 134
- 65. Wyświetlanie komunikatów w konsoli w sposób bezpieczny dla wątków 136
- 66. System obsługi klienta 137
Rozdział 8. Wzorce projektowe 141
- Zadania 141
- 67. Sprawdzanie poprawności haseł 141
- 68. Generowanie losowych haseł 141
- 69. Generowanie numerów ubezpieczenia socjalnego 141
- 70. System zatwierdzania 142
- 71. Obserwowany kontener typu wektorowego 142
- 72. Obliczanie ceny zamówienia z rabatami 143
- Rozwiązania 144
- 67. Sprawdzanie poprawności haseł 144
- 68. Generowanie losowych haseł 147
- 69. Generowanie numerów ubezpieczenia socjalnego 151
- 70. System zatwierdzania 155
- 71. Obserwowany kontener typu wektorowego 158
- 72. Obliczanie ceny zamówienia z rabatami 163
Rozdział 9. Serializacja danych 169
- Zadania 169
- 73. Serializacja danych do pliku XML i deserializacja ich z niego 169
- 74. Pobieranie danych z pliku XML przy użyciu języka XPath 170
- 75. Serializacja danych do formatu JSON 170
- 76. Deserializacja danych z formatu JSON 170
- 77. Tworzenie pliku PDF z listą filmów 171
- 78. Tworzenie pliku PDF na podstawie zbioru obrazów 171
- Rozwiązania 172
- 73. Serializacja danych do pliku XML i deserializacja ich z niego 172
- 74. Pobieranie danych z pliku XML przy użyciu języka XPath 175
- 75. Serializacja danych do formatu JSON 177
- 76. Deserializacja danych z formatu JSON 178
- 77. Tworzenie pliku PDF z listą filmów 180
- 78. Tworzenie pliku PDF na podstawie zbioru obrazów 183
Rozdział 10. Archiwa, obrazy i bazy danych 187
- Zadania 187
- 79. Wyszukiwanie plików w archiwum ZIP 187
- 80. Pakowanie plików do archiwum ZIP i wypakowywanie ich z tego archiwum 187
- 81. Pakowanie plików do archiwum ZIP i wypakowywanie ich z tego archiwum z zastosowaniem hasła 188
- 82. Tworzenie pliku PNG z flagą narodową 188
- 83. Tworzenie obrazu PNG zawierającego tekst weryfikacyjny 188
- 84. Generator kodów kreskowych EAN-13 189
- 85. Odczytywanie informacji o filmach z bazy SQLite 189
- 86. Wstawianie w sposób transakcyjny informacji o filmach do bazy danych SQLite 189
- 87. Obsługa multimediów w bazie danych SQLite 190
- Rozwiązania 191
- 79. Wyszukiwanie plików w archiwum ZIP 191
- 80. Pakowanie plików do archiwum ZIP i wypakowywanie ich z tego archiwum 192
- 81. Pakowanie plików do archiwum ZIP i wypakowywanie ich z tego archiwum z zastosowaniem hasła 196
- 82. Tworzenie pliku PNG z flagą narodową 198
- 83. Tworzenie obrazu PNG zawierającego tekst weryfikacyjny 199
- 84. Generator kodów kreskowych EAN-13 202
- 85. Odczytywanie informacji o filmach z bazy SQLite 207
- 86. Wstawianie w sposób transakcyjny informacji o filmach do bazy danych SQLite 212
- 87. Obsługa multimediów w bazie danych SQLite 216
Rozdział 11. Kryptografia 225
- Zadania 225
- 88. Szyfr Cezara 225
- 89. Szyfr Vigenere'a 225
- 90. Kodowanie i dekodowanie base64 225
- 91. Sprawdzanie poprawności uwierzytelniania użytkowników 226
- 92. Wyznaczanie skrótów dla plików 226
- 93. Szyfrowanie i deszyfrowanie plików 226
- 94. Podpisywanie plików 226
- Rozwiązania 227
- 88. Szyfr Cezara 227
- 89. Szyfr Vigenere'a 228
- 90. Kodowanie i dekodowanie base64 231
- 91. Sprawdzanie poprawności uwierzytelniania użytkowników 236
- 92. Wyznaczanie skrótów dla plików 239
- 93. Szyfrowanie i deszyfrowanie plików 240
- 94. Podpisywanie plików 242
Rozdział 12. Praca w sieci i usługi 247
- Zadania 247
- 95. Znajdowanie adresu IP dla hosta 247
- 96. Gra Fizz-Buzz klient-serwer 247
- 97. Kursy wymiany bitcoinów 248
- 98. Pobieranie wiadomości e-mailowych przy użyciu protokołu IMAP 248
- 99. Tłumaczenie tekstu na dowolny język 248
- 100. Wykrywanie twarzy na obrazie 248
- Rozwiązania 249
- 95. Znajdowanie adresu IP dla hosta 249
- 96. Gra Fizz-Buzz klient-serwer 250
- 97. Kursy wymiany bitcoinów 255
- 98. Pobieranie wiadomości e-mailowych przy użyciu protokołu IMAP 258
- 99. Tłumaczenie tekstu na dowolny język 263
- 100. Wykrywanie twarzy na obrazie 267
Bibliografia 277
Skorowidz 281
- Title: Nowoczesny C++. Zbiór praktycznych zadań dla przyszłych ekspertów
- Author: Marius Bancila
- Original title: The Modern C++ Challenge: Become an expert programmer by solving real-world problems
- Translation: Jacek Janusz
- ISBN: 978-83-283-5212-4, 9788328352124
- Date of issue: 2019-04-16
- Format: Ebook
- Item ID: nowcpp
- Publisher: Helion