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 ();
}