English
|
Příklad použití std::map
|
|
30.05.2006
Download zdrojáku (11.4kB)
Příklad vytvoří mapu slov s jejich protiklady. V mapě se hledají hodnoty, nebo klíče.
// std::map example
// opposite words
#include <iostream>
#include <map>
#include <string>
using namespace std;
typedef std::map<std::string, std::string> TStrStrMap;
typedef std::pair<std::string, std::string> TStrStrPair;
int main(int argc, char *argv[])
{
TStrStrMap tMap;
tMap.insert(TStrStrPair("yes", "no"));
tMap.insert(TStrStrPair("up", "down"));
tMap.insert(TStrStrPair("left", "right"));
tMap.insert(TStrStrPair("good", "bad"));
std::string s;
std::cout << "Enter word: " << std::endl;;
std::cin >> s;
std::string strValue = tMap[s];
if(strValue!="")
{
// Show value
std::cout << "Opposite: " << strValue << endl;
}
else
{
TStrStrMap::iterator p;
bool bFound=false;
// Show key
for(p = tMap.begin(); p!=tMap.end(); ++p)
{
std::string strKey;
strValue = s;
strKey= p->second;
if( strValue == strKey)
{
// Return key
std::cout << "Opposite: " << p->first << std::endl;
bFound = true;
}
}
// If not found opposite word
if(!bFound)
{
std::cout << "Word not in map." << std::endl;
}
}
return 0;
}
home
/
g++