Responsive image Boda Szilárd weblapja

A map egy speciális adatszerkezet, amely kulcs/érték formában tárol értékeket. Hasonló a tömbhöz, ahol index/érték formában tárolhatunk értékeket, de itt a kulcs bármilyen típus lehet (int, string, struct, stb).

Feladatok:
1. Készítsünk egy gyümölcs áradatbázist, minimum 15 gyümölccsel, ahol az illető gyümölcsök kgonkénti árát tároljuk. (a gyümölcsök nevét és az árát egy input.txt fileból olvassuk be). Majd készítsünk egy menüsort, ahol a felhasználó lekérheti egy gyümölcs árát, amit megad, kiírathatja az összes gyümölcs árát, vagy kiléphet a programból.

Megoldott feladatok:
1. Hozzunk létre egy gyümölcs áradatbázist, minimum 3 értékkel, majd írjuk ki az egészet. Utána olvassunk be a billentyűzetről egy gyümölcsöt s írjuk ki az árát!

#include <iostream>
#include <unordered_map>
using namespace std;

int main()
{
    // deklaralas
    unordered_map <string, int> umap;

    // kulcs-ertek parok letrehozasa
    umap["alma"] = 5;
    umap["barack"] = 20;
    umap["cseresznye"] = 30;

    // kiiras
    for (auto it : umap)
        cout  << "A(z) "   <<it.first  << " ara: "  << it.second  << endl;

    string gyumolcs;
    cout  << "melyik gyumolcs arara vagy kivancsi?";
    cin >> gyumolcs;
    cout  << "Az altalad valasztott gyumolcs ara "  << umap[gyumolcs];

    return 0;
}
2. Olvassunk be egy szöveget és számoljuk meg és írjuk ki, hogy melyik szó hányszor fordul elő.
#include  <iostream>
#include  <string>
#include  <fstream>
#include  <unordered_map>

using namespace std;

int main() {
    string szo;

    unordered_map <string, int> szoSzamlalo;

    ifstream in("input.txt");
    while (in  >> szo) {
        szoSzamlalo[szo]++;
    }

    cout << "Szavak elofordulasa:" << endl;
    for (auto par : szoSzamlalo) {
        cout << par.first << " : " << par.second << " alkalommal" << endl;
    }

    return 0;
}