Learning C ++ Examples

I am currently participating in the C ++ learning process, although I am reading books on programming. I understand the concept, but a few days after reading the concepts begin to drift from my mind.

The only thing that holds them back is to work with examples / questions.

Are there any good sites or books that you can recommend that provide a large number of examples / questions to work with explanations that each example should help you find out?

+4
source share
4 answers

If your books do not give you tasks to chew, books are better.

Look at the ones mentioned here .

+4
source

This site and this site may be worth looking for you.

+4
source

You're right. Reading books is unlikely to help if you do not practice what you learn.

You did not say what examples you need, and it is obviously important to choose examples that mean something to you - that is, applications that you can see the value.

Can you suggest a few topics that interest you? How are business applications or games, scientific or others?

+2
source

Just for reference, some examples, I'm trying to add code ...

#include <iostream> #include <string> #include <list> #include <vector> #include <set> #include <map> #include <iterator> #include <algorithm> #include <iomanip> #include <iostream> using namespace std; bool Porovnej(int &p1) { if (p1 > 5) { return true; } return false; } struct osoba{ int vek; string jmeno; set<char> mnozinaPismen; public: void Vypis(); }; void osoba::Vypis() { cout << vek << endl; cout << jmeno << endl; for (auto m : mnozinaPismen){ cout << m << endl; } cout << "" << endl; }; int Vytrid(int &prvek) { if(prvek !=30){ return prvek; } return -(prvek); } struct JaKralJeliman{ int vek; string jmeno; string titul; public: void Vypis(); }; void JaKralJeliman::Vypis() { cout << vek << endl; cout << titul << endl; cout << jmeno << endl; } class Vytridit{ public: int operator()(int &prvek) const{ if (prvek > 2) { return prvek; } } }; int Pricti(int &prvek){ prvek = prvek + 1; return prvek; } class NasobeniHodnot { private: int _hodnota; public: NasobeniHodnot(int hodnota) :_hodnota(hodnota) {} void operator() (int &prvek) const { prvek *= _hodnota; } }; int GenerujPrvky(){ int prvek = 0; prvek += rand(); return prvek; } class Pair { private: int _key, _value; public: int GetKey() const { return _key; } int GetValue() const { return _value; } void SetKey(int key) { _key = key; } void SetValue(int value) { _value = value; } }; istream& operator>>(istream &is, Pair &objekt) { int cislo; is >> cislo; /* Využiji již přetížených operátorů pro primitivní datové typy.*/ objekt.SetKey(cislo); is >> cislo; objekt.SetValue(cislo); return is; } ostream& operator<<(ostream &os, const Pair &objekt) { os << objekt.GetKey() << objekt.GetValue(); return os; } int main() { vector<int> v; vector<int>::iterator it; vector<int> v2(100); vector<int> v3(10); for (int i = 1; i < 10; i++) { v.push_back(i+1); } it = find(v.begin(), v.end(), 5); cout << *it << endl; back_inserter(v) = 30; back_inserter(v) = 32; back_inserter(v) = 32; back_inserter(v) = 30; back_inserter(v) = 30; v.reserve(2 * v.size()); copy(v.begin(), v.end(), back_inserter(v)); copy(v.begin(), v.end(), ostream_iterator<int>(cout, " ")); // for_each(v.begin(), v.end(), ostream_iterator<int>(cout)); it = min_element(v.begin(), v.end()); it = max_element(v.begin(), v.end()); int pocetTricitek = count(v.begin(), v.end(), 30); cout << "Pocet hodnoty 30 v kontejneru v je:" << pocetTricitek << endl; cout << "Nejvetsi hodnota" << *it <<endl; it = find_if(v.begin(), v.end()-1, Porovnej); cout << "Hodnota iteratoru:" << *it << endl; it = search_n(v.begin(), v.end()-1, 3, 32); cout << "Hodnota iteratoru:" << *it << endl; transform(v.begin(), v.end(), v2.begin(), Vytrid); fill_n(v3.begin(), 5, 10); replace(v.begin(), v.end(), 30, 1); //nahradí číslo 30 číslem 1 reverse(v.begin(), v.end()); rotate(v.begin(), v.begin() + 3, v.end()); sort(v.begin(), v.end()); //partial_sort(v.begin(), v.begin() + 10, v.end()); it = lower_bound(v.begin(), v.end(), 15); //>= než 15 vector<int> kolekce(10); generate(kolekce.begin(), kolekce.end(), GenerujPrvky); NasobeniHodnot nh(2); for_each(kolekce.begin(), kolekce.end(), nh); for_each(kolekce.begin(), kolekce.end(), NasobeniHodnot(2)); int c = 1000, b = 9; cout << setw(3) << "b=" << b << endl << "c=" << c << endl; cout << setw(3) << setfill('@') << hex << "c=" << c; cout << endl; Pair pair; cin >> pair; cout << "Objekt byl:" << endl << pair; system("pause"); return 0; } /*String string s = "ahoj Oldo"; string::size_type idx; int pocet = 0; string s2("Ahoj karle", 6); cout << s2; idx = s.find("o"); cout << "idx:" << idx << "string s:" << s << endl; if (idx == std::string::npos) { cout << "Není obsažen v řetězci"; } else{ cout << "Je obsažen v řetězci na pozici:" << idx; } --------------------//////////////--------------------------- Kontejnery: string pole[] = { "2", "50" ,"99", "1000" }; list<string> seznam(pole, pole+sizeof(pole)/sizeof(pole[0])); vector<string> vektorRetezcu; vektorRetezcu.push_back("a"); vektorRetezcu.push_back("b"); vektorRetezcu.push_back("c"); vektorRetezcu.push_back("d"); vektorRetezcu.push_back("e"); vektorRetezcu.push_back("e"); vektorRetezcu.push_back("a"); list<string> seznam2(vektorRetezcu.begin(), vektorRetezcu.end()); for (auto s : seznam2) { cout << s << endl; } swap(seznam, seznam2); for (auto s : seznam2) { cout << s << endl; } string s1 = "ahoj"; string s2 = "olda"; cout << s1 << s2 << endl; swap(s1, s2); cout << s1 << s2 << endl; --------------------////////////-/////---------------- List list<osoba> listOsob; osoba clovek; for (int i = 0; i < 3; i++) { cout << "Zadej cloveka:" << endl; cin >> clovek.jmeno; cin >> clovek.prijmeni; cin >> clovek.vek; listOsob.push_back(clovek); } for (auto osoby : listOsob) { cout << "Clovek cislo " << endl; cout << osoby.jmeno << endl; } ///////////////////////////////////////////////---------------------mnozicn struct osoba{ int vek; string jmeno; set<char> mnozinaPismen; public: void Vypis(); }; void osoba::Vypis() { cout << vek; cout << jmeno; for (auto m : mnozinaPismen) { cout << m << endl; } } int main() { vector<osoba> vectorLidi; osoba clovek; for (int i = 0; i < 3; i++) { cin >> clovek.vek; cin >> clovek.jmeno; for (int i = 0; i < clovek.jmeno.length(); i++) { clovek.mnozinaPismen.insert(clovek.jmeno[i]); } vectorLidi.push_back(clovek); } for (auto v : vectorLidi) { v.Vypis(); } system("pause"); return 0; } -----------------////////////------------------- vector<osoba> vectorLidi; osoba clovek; for (int i = 0; i < 3; i++) { cin >> clovek.vek; cin >> clovek.jmeno; for (int i = 0; i < clovek.jmeno.length(); i++) { clovek.mnozinaPismen.insert(clovek.jmeno[i]); } vectorLidi.push_back(clovek); } cout << "Nacte no -------------" << endl; for (auto v : vectorLidi) { v.Vypis(); } */ 
0
source

All Articles