Soubor abc.txt ve Visual Studio umustit do adresare s .CPP, napr: C:\Users\Jmeno\source\repos\ConsoleApplication5\ConsoleApplication5\abc.txt #include #include using namespace std; int main() { ifstream f ("abc.txt"); while (f.good()) { string s; f >> s; cout << s << endl; } cout << "O.K." << endl; } #include #include using namespace std; int main() { ifstream f ("abc.txt"); int sum = 0; int t = 0; int max = -1; while (f.good()) { int k; f >> k; if (f.good()) { cout << k << endl; sum = sum + k; t = t + k * k; if (k > max) max = k; } } cout << "Soucet je " << sum << endl; cout << "Soucet druhych mocnin je " << t << endl; cout << "Nejvetsi cislo je " << max << endl; } #include #include using namespace std; int main() { int max = -1; // nejvetsi hotnota string maxname; // jmeno prvku s nejvetsi hotnotou ifstream f ("abc.txt"); while (f.good()) { string name; int value; f >> name >> value; if (f.good()) { cout << name << " ... " << value << endl; if (value > max) { max = value; // nova nejvetsi hodnota maxname = name; } } } cout << "Nejvetsi prvek je " << maxname << " ... " << max << endl; } #include #include using namespace std; struct Item { string name; int value; Item* next; }; Item* first = nullptr; Item* last = nullptr; void add (string name0, int value0) { Item* p = new Item; p->name = name0; p->value = value0; p->next = nullptr; // bude na konci seznamu if (last == nullptr) first = p; // seznam je prazdny, jsme prvni else last->next = p; // neco uz je v seznamu, pripojime se za posledniho last = p; // vzdy jsem posledni } void print() { Item* p = first; while (p != nullptr) { cout << p->name << "..." << p->value << endl; p = p->next; } } int main() { ifstream f ("abc.txt"); while (f.good()) { string name1; int value1; f >> name1 >> value1; if (f.good()) { add (name1, value1); } } print (); } #include #include using namespace std; struct Item { string name; int value; Item* next; }; Item* first = nullptr; Item* last = nullptr; void add (string name0, int value0) { Item* p = new Item; p->name = name0; p->value = value0; p->next = nullptr; // bude na konci seznamu if (last == nullptr) first = p; // seznam je prazdny, jsme prvni else last->next = p; // neco uz je v seznamu, pripojime se za posledniho last = p; // vzdy jsem posledni } // void insert_by_name(string name0, int value0) void insert_by_value(string name0, int value0) { Item* p = new Item; // novy prvek p->name = name0; p->value = value0; p->next = nullptr; Item* t = nullptr; // hledam prvek za ktery se mam pripojit Item* v = first; // prvek pred ktery se mam pripojit // while (v != nullptr && v->name <= name0) while (v != nullptr && v->value <= value0) { t = v; v = v->next; } if (t == nullptr) { // pripojit na zacatek if (first == nullptr) last = p; else p->next = first; first = p; } else { p->next = t->next; t->next = p; if (p->next == nullptr) last = p; } } void print() { Item* p = first; while (p != nullptr) { cout << p->name << "..." << p->value << endl; p = p->next; } } int main() { ifstream f ("abc.txt"); while (f.good()) { string name1; int value1; f >> name1 >> value1; if (f.good()) { // add (name1, value1); insert_by_value (name1, value1); } } print (); } #include #include using namespace std; struct Item { string name; int value; Item* next; }; Item* first = nullptr; Item* last = nullptr; void add (string name0, int value0) { Item* p = new Item; p->name = name0; p->value = value0; p->next = nullptr; // bude na konci seznamu if (last == nullptr) first = p; // seznam je prazdny, jsme prvni else last->next = p; // neco uz je v seznamu, pripojime se za posledniho last = p; // vzdy jsem posledni } void insert (string name0, int value0, bool name_cond, bool value_cond) { Item* p = new Item; // novy prvek p->name = name0; p->value = value0; p->next = nullptr; Item* t = nullptr; // hledam prvek za ktery se mam pripojit Item* v = first; // prvek pred ktery se mam pripojit // while (v != nullptr && v->name <= name0) while (v != nullptr && ( name_cond && v->name <= name0 || value_cond && v->value <= value0 )) { t = v; v = v->next; } if (t == nullptr) { // pripojit na zacatek if (first == nullptr) last = p; else p->next = first; first = p; } else { p->next = t->next; t->next = p; if (p->next == nullptr) last = p; } } void insert_by_name(string name0, int value0) { insert (name0, value0, true, false); } void insert_by_value(string name0, int value0) { insert (name0, value0, false, true); } void print() { Item* p = first; while (p != nullptr) { cout << p->name << "..." << p->value << endl; p = p->next; } } int main() { ifstream f ("abc.txt"); while (f.good()) { string name1; int value1; f >> name1 >> value1; if (f.good()) { // add (name1, value1); insert_by_value (name1, value1); } } print (); } #include #include #include using namespace std; struct Item { string name; int value; }; vector a; void add (string name0, int value0) { Item p; p.name = name0; p.value = value0; a.push_back (p); } void insert (string name0, int value0, bool name_cond, bool value_cond) { Item p; p.name = name0; p.value = value0; int cnt = a.size(); int inx = 0; while (inx < cnt && ( name_cond && a[inx].name <= name0 || value_cond && a[inx].value <= value0 )) { inx ++; } // vlozit pred a[inx] if (inx < cnt) { vector::iterator it = a.begin () + inx; a.insert(it, p); } else { a.push_back(p); } } void insert_by_name(string name0, int value0) { insert (name0, value0, true, false); } void insert_by_value(string name0, int value0) { insert (name0, value0, false, true); } void print() { int cnt = a.size(); for (int i = 0; i < cnt; i++) { cout << a[i].name << "..." << a[i].value << endl; } } int main() { ifstream f ("abc.txt"); while (f.good()) { string name1; int value1; f >> name1 >> value1; if (f.good()) { // add (name1, value1); insert_by_value (name1, value1); } } print (); }