C++ Bc. 27 cpp: Porovnání verzí
m Stránka C plus plus Bc. 27 cpp přemístěna na stránku C++ Bc. 27 cpp |
m +kategorie programovani, c++ |
||
| Řádek 55: | Řádek 55: | ||
} | } | ||
[ [[C | [ [[C++ Bc. 27 | Zpět]] ] | ||
[[Kategorie:Programování]] | |||
[[Kategorie:C++]] | |||
Aktuální verze z 2. 9. 2006, 11:01
#include <iostream>
#include <sstream>
#include <string>
#include <set>
typedef std::set<std::pair<std::string,int> > Konkordance;
int main()
{
using namespace std;
Konkordance K;
int crad = 0;
string radek;
while (getline(cin, radek))
{
crad++;
for (int i=0; i<radek.length(); i++)
{
switch (radek[i]) {
case '.':
case ',':
case ';':
case '(':
case ')':
case '/':
radek[i] = ' '; // nahradim znaky tecka, carka, atd. mezerou
}
}
istringstream istr(radek);
string slovo;
while (istr >> slovo)
{
pair<string,int> p(slovo, crad); // dvojice <slovo, cislo radku>
K.insert(p); // ulozim dvojici
}
}
string t;
for (Konkordance::const_iterator i=K.begin(), e=K.end(); i!=e; ++i)
{
const pair<string, int>& p = *i;
if (t != p.first)
cout << "\n" << p.first << " : " << p.second << " ";
else
cout << p.second << " ";
t = p.first;
}
cout << "\n";
}
[ Zpět ]