为什么当我尝试在地图中迭代时我的值不显示

why my values do not display when I try to iterate in a map?

本文关键字:迭代 我的 显示 地图 为什么      更新时间:2023-10-16

i从C 开始,我遇到了一个问题。在这里,我已经填写了一张图中包含的数据,并尝试显示它们。在我的开关剧集标题和每个Epsiode的演员名称的情况下,在其他情况下,我的标题会正确显示。我想了解我的错误在哪里,因为我找不到它。

情节。H

#pragma once
#include <vector>
#include <string>
class Episode
{
    public :
        Episode();
        Episode(std:: string Nummer,std:: string GermanyTitle,std:: string EnglishTitle,std:: string contenu);
        std::string getNummer()const;
        std::string getContent()const;
        std::string getGermanyTitle()const;
        std::string getEnglishTitle()const;
        std::string getActors()const;
        std::vector<std::string>getFlashbacks()const;
        std::vector<std::pair<std::string, int>>getFlashbackWords()const;
    private :
        std::string episodeNummer;
        std::string germanyT;
        std::string englishT;
        std::string content;
        std::vector<std::string>flashbacks;
        std::vector<std::pair<std::string,int>> flashbackWords;

};

情节.cpp

#include <algorithm>
#include <iostream>
#include <sstream>
#include <fstream>
#include <string>
#include <map>
#include "Episode.h"
using namespace std;
Episode::Episode(string Nummer, string GermanyTitle, string EnglishTitle, string contenu): episodeNummer(Nummer), germanyT(GermanyTitle),
                                                                                            englishT(EnglishTitle),content(contenu)
{
    map<string, int>wordCount;
    auto start = 0;
    auto end = 0;
    while ((start = content.find("<FLASHBACK>", end)) != string::npos)
    {
        end = content.find("</FLASHBACK>", start);
        string flashback = content.substr(start + 11, end - start -12);
        flashbacks.push_back(flashback);
        stringstream flashbackStream(flashback);
        string word;
        while ((flashbackStream >> word).good())
        {
            wordCount[word]++;
        }
    }
    auto cmp = [](pair <string, int> const& a, pair<string, int> const& b)
    {
        return a.second > b.second;
    };
    flashbackWords = vector<pair<string, int>>(wordCount.begin(),wordCount.end());
    sort(flashbackWords.begin(), flashbackWords.end(), cmp);
}

string Episode::getGermanyTitle()const
{
    return germanyT;
}
string Episode::getEnglishTitle()const
{
    return englishT;
}
vector<string> Episode::getFlashbacks()const
{
    return flashbacks;
}
std::vector<std::pair<std::string, int>> Episode::getFlashbackWords() const
{
    return flashbackWords;
}
string Episode::getActors() const
{
    stringstream out;
    vector<string> actor;
    vector<int> actorMentions;
    ifstream infile("Hauptpersonen,txt",ios::in);
    string d;
    while (infile >> d)
    {
        actor.push_back(d);
        actorMentions.push_back(0);
    }
    for (auto i = 0; i < actor.size(); i++)
    {
        for (auto j = 0; j < flashbackWords.size(); j++)
        {
            if (flashbackWords[j].first == actor[i])
            {
                actorMentions[i] += flashbackWords[j].second;
            }
        }
    }
    bool moreThanOne = false;
    for (auto i = 0; i < actor.size(); i++)
    {
        if (actorMentions[i] >= 4 && moreThanOne == false)
        {
            out << actor[i];
            moreThanOne = true;
        }
        else if (actorMentions[i] >= 4 && moreThanOne == true)
        {
            out << "." << actor[i];
        }
    }
    if (out.str().empty())
    {
        return "Keine spezielle";
    }
    return out.str();
}

main.cpp

#include <iostream>
#include <iomanip>
#include <fstream>
#include <sstream>
#include <vector>
#include <map>
#include "Episode.h"
using namespace std;
void displayMenu()
{
    cout << " [1] Englische Episodentitel und Inhalt einer beliebigen Episode ausgeben ." << endl
        << "  [2] Nur Rückblicke einer beliebigen Episoden ausgeben ." << endl
        << "  [3] Die 15 häufigsten Wörter der Rückblicke einer Episoden ausgeben ." << endl
        << "  [4] Hauptpersonen aller Episoden ausgeben ." << endl
        << "  [9] Programm beenden ." << endl
        << "  Ihre Wahl : ";
}
int main()
{
    setlocale(LC_ALL, "");
    map<string, Episode> episodes;
    ifstream input;
    input.open("Lost_Staffel_1.txt", ios::in);
    string tmp;
    getline(input, tmp);
    string episodenummer;
    string germanTitle;
    string englishTitle;
    string contenu;
    while (getline(input, tmp, ' ').good())
    {
        getline(input, episodenummer);
        getline(input, germanTitle, '(');
        getline(input, englishTitle, ')');
        getline(input, contenu, '*');
        getline(input, tmp);
        Episode episode(episodenummer, germanTitle, englishTitle, contenu);
        episodes.emplace(episodenummer, episode);
    }
    input.close();
    string auswahl;
    char choice = '1';
    do
    {
        displayMenu();
        cin >> choice;
        switch (choice)
        {
        case '1':
        {
            cout << left << setw(14) << " EpisodenNummer : " << setw(25) << " Englische EpisodenTitel ." << endl;
            for (auto &titel : episodes)
            {
                cout << setw(14) << titel.second.getNummer() << setw(40) << titel.second.getEnglishTitle() << endl;
            }
            cout << "n Inhalt von welcher Episode ausgeben : ";
            cin >> auswahl;
            cout << " EpisodeNummer : " << episodes[auswahl].getNummer() << endl << endl
                //<< " German Titel : " << episodes[auswahl].getGermanyTitle() << endl
                << " Englisch Titel : " << episodes[auswahl].getEnglishTitle() << endl << endl
                << " Inhalt : " << episodes[auswahl].getContent() << endl << endl;
        }
        break;
        case '2':
        {
            cout << " *** Nur Rücblicke einer Episode ausgeben *** "<< endl;
            cout << " Von welcher Episode sollen die Rückblicke ausgegeben werden : ";
            cin >> auswahl;
            cout << endl;
            int flash = 1;
            // recherche de flashback
            Episode episode = episodes[auswahl];
            for (const auto& fb : episode.getFlashbacks())
            {
                cout << flash++ << ".Flashback: " << fb << endl << endl;
            }
            break;
        }

        case'3':
        {
            cout << " ***Die 15 häufigsten Woerter ausgeben. *** " << endl;
            cout << left << " Von welcher Episode sollen die 15 haüfigsten Wörter ausgegeben werden :  ";
            cin >> auswahl;
            Episode episode = episodes[auswahl];
            for (int i = 0; i < 15; i++)
            {
                cout  << episode.getFlashbackWords()[i].second << episode.getFlashbackWords()[i].first << endl;
            }
            break;
        }
        case '4':
        {
            cout << " *** Hauptpersonen aller Episoden ausgeben ***" << endl;
            cout << " Episode " << setw(10) << " Titel" << setw(28) << " Hauptperson(en)" << endl;
            for (double i = 1.01; i < 1.25; i+=0.01)
            {
                string it = to_string(i);
                it.erase(4, string::npos);
                cout <<left << setw(2) << it << "t   " << episodes[it].getGermanyTitle() << setw(20)<< episodes[it].getActors() << endl;
            }
            //for (const auto & p : episodes)
                // cout << p.first << 't' << p.second.getActors() << 'n' << endl;
        }
        break;
        case '9':
            break;
        default:
            cout << " Fehler : Falsche Eingabe !! " << endl;
            break;
        }

    } while (choice != '9');
}

lostrongtaffel_1.txt

EPISODE 1.02
GESTRANDET, TEIL 2 (PILOT)
Nach einem kurzen Gespräch zwischen Boone und Shannon erzählt letztere Claire, dass Boone ihr Bruder sei. Claire verrät ihr daraufhin, dass sie ihr Baby seit dem Absturz nicht mehr gespürt hat. Am Strand ist Michael währenddessen auf der Suche nach seinem Sohn Walt. Doch als er die Koreanerin Sun um Rat fragt, mischt sich deren Mann Jin ein und beendet das Gespräch voller Wut. Kurze Zeit später findet Michael Walt- zusammen mit Handschellen, die dieser im Wald entdeckt hat.
<FLASHBACK> Charlie läuft im Flugzeug auf die Toilette. Dort holt er seine Drogen hervor und nimmt eine Dosis zu sich. In diesem Moment gerät das Flugzeug außer Kontrolle. Charlie erreicht gerade noch einen Sitzplatz und schnappt sich die bereits heruntergeklappte Atemmaske. </FLASHBACK>
Am Strand läuft ein heftiger Streit zwischen Sawyer und Sayid. Erst als Jack, Michael und Kate dazwischen gehen, lassen beide voneinander ab. Kate teilt den anderen daraufhin mit, dass sie im Cockpit ein Funkgerät gefunden haben, das jedoch nicht funktioniert. Sayid meint, er könne helfen.
Somit bildet sich eine Truppe, die auf einen Gipfel der Insel klettern wird, da es sein könnte, dass man dort ein Signal empfängt. Jack bleibt jedoch am Strand um sich um einen verwundeten Mann zu kümmern, dem ein Metallteil aus dem Bauch ragt. Während Jin ohne Erfolg versucht, die anderen für seine Vorliebe für rohen Fisch zu begeistern, liest Walt einen Comic auf Spanisch. Das heißt, er sieht sich die Bilder an- auch ein Eisbär ist abgebildet...
Nach einer neuen Dosis Drogen beschließt Charlie, sich der Truppe anzuschließen. Ebenso möchte Shannon mit den anderen gehen, um von ihrem Bruder loszukommen. Dieser schließt sich jedoch ebenfalls an. Da auch Sawyer nichts besseres zu tun hat, begleitet auch er Sayid und Kate zum Gipfel.
Walt spricht gleich darauf zum ersten Mal mit Locke, der ihm ein interessantes Spiel erklärt: Backgammon. Gerade als er zwei Spielsteine hochhält (ein heller, ein dunkler) fragt er Walt, ob er ein Geheimnis erfahren möchte.
Als Jin auch bei Claire sein Glück mit seinem Essen versucht, nimmt diese aus Freundlichkeit eine kleine Kostprobe entgegen. In diesem Moment schreit sie erfreut auf- ihr Baby hat sich wieder bewegt.
Der Trip zu den Bergen erweist sich als schwieriger als gedacht, als Sayid und Sawyer wieder Mal aufeinander losgehen. Aber es kommt noch schlimmer, denn plötzlich dringen Geräusche aus dem Dickicht. Gleich darauf sieht sich Sawyer mit dem Verursacher konfrontiert: Er sieht einem Eisbären in die Augen, und dieser rennt direkt auf ihn zu. Doch Sawyer weicht nicht zurück- er holt eine Pistole hervor. Nach Dutzenden Schüssen fällt der Bär vor ihm zu Boden.
Jack will unterdessen das Metallteil aus dem Bauch des Verwundeten ziehen. Dazu benötigt er Hurley, der den Mann am Boden halten muss, sollte er während des Eingriffs erwachen. Doch als Jack das Teil entfernt und das Blut zu fließen beginnt, verliert Hurley das Bewusstsein und fällt auf den Patienten.
Im Dschungel sieht Kate in Sawyer eine zu große Gefahr und so nimmt sie ihm die Waffe, in einem Augenblick der Unaufmerksamkeit, ab. Sie entnimmt der Pistole den Munitionsclip und gibt sie Sawyer wieder zurück.
<FLASHBACK> Der Mann, den Jack gerade operiert, sitzt im Flugzeug neben Kate. Als die Kamera hinunterschwenkt sieht man, dass Kate mit Handschellen an den Sitz vor ihr gekettet ist. Der Mann neben ihr ist ein Sheriff, der sie zurück nach LA fliegt. Als das Flugzeug in Turbulenzen gerät, schlägt ein herabfallender Koffer den Mann KO. Kate schließt schnell ihre Handschellen auf und versorgt sich selbst und den Sheriff mit Sauerstoff. </FLASHBACK>
Tatsächlich gelingt es Sayid, auf dem höher gelegenen Ort, ein Signal zu empfangen. Doch er muss feststellen, dass er nur den Hilferuf einer anderen Person empfängt. Mit ihren mäßigen Französischkenntnissen erkärt Shannon den anderen, dass diese Frau erzählt, dass alle außer ihr tot seien. "Es" habe sie alle getötet. Sayid, der den Zähler der Nachricht schnell umgerechnet hat, teilt den anderen mit, dass dieser Notruf seit ganzen 16 Jahren ausgesandt wird. Als alle realisieren, dass andere Gestrandete in all diesen Jahren nicht gerettet wurden, fragt Charlie: "Leute, wo sind wir?"...
****
EPISODE 1.03
TABULA RASA (TABULA RASA)
Jack kümmert sich um den Marshall, dem er in Folge 1.02 das Metallstück aus dem Bauch gezogen hat. Dieser ist wieder bei Bewusstsein und bittet Jack, etwas aus seiner Jackentasche zu holen. Ein Fahndungsfoto. Von Kate.
Nachts sitzen alle, die den Funkspruch der Französin gehört haben, an einem Lagerfeuer und besprechen, was sie den anderen sagen, sobald sie zurück am Strand sind. Um eine allgemeine Panik zu verhindern beschließen sie, die anderen Überlebenden anzulügen- es habe kein Signal gegeben.
Hurley ist unterdessen zu Jack gekommen und unterhält sich über die Überlebenschancen des Marshalls, die sehr gering seien. Dabei entdeckt Hurley das Fahndungsfoto, was ein ziemlicher Schock für ihn ist.
Während alle anderen schlafen, versucht Boone, Sawyer seine Pistole zu stehlen. Dabei werden jedoch alle anderen wach, und es kommt zu einer verbalen Auseinandersetzung. Schließlich schlägt Shannon vor, dass Kate die Waffe vorerst unter Verwahrsam nehmen sollte, was einstimmig beschlossen wird.
<FLASHBACK> Kate erwacht und sieht den Lauf eines Gewehrs direkt vor ihren Augen. Sie hat die Nacht im Stall eines Farmers verbracht und dieser stellt sie nun zur Rede, erweist sich aber als überaus freundlich, denn er bietet ihr Frühstück an. Beim Essen erklärt sie ihm, dass ihr das Geld ausgegangen sei, und dass sie in Australien niemanden kenne. Sie stellt sich ihm als "Annie" vor, und der Farmer schlägt ihr vor, ihm auf dem Anwesen zu helfen, da seine Frau kürzlich verstorben sei. </FLASHBACK>
Zurück am Strand teilt Sayid den anderen Überlebenden mit, dass ihre Mission kein Erfolg gewesen sei. Ein erneuter Versuch, nach Hilfe zu rufen, so Sayid, könne etwas Zeit in Anspruch nehmen, deshalb sollten sich alle so gut wie möglich auf der Insel einleben. Kate erzählt unterdessen Jack die Wahrheit- sie konnten kein Signal empfangen, sondern nur ein seit 16 Jahren laufendes empfangen.
Später sucht Jack in einem Teil des Flugzeuges nach Medikamenten und wird dabei von Sawyer überrascht. Dieser sieht sich im Wrack nach allem Nützlichen um, um das Zeug dann an Leute auf der Insel zu verkaufen, die es brauchen. Kate trifft zeitgleich zum ersten Mal auf Hurley, dem sie sich vorstellt. Dieser ist sichtlich nervös, da er sie bereits von ihrem Fahndungsfoto kennt. Als er obendrein Sawyers Pistole in ihrer Hose sieht, ergreift er schnell mit einer kurzen Ausrede die Flucht.
<FLASHBACK> Kates Arbeitgeber erwischt sie in ihrem Zimmer, als sie gerade Geld, das sie im Schrank versteckt hat, hervorholt. Da sie bereits ihre Sachen gepackt hat erkennt er, dass sie unbemerkt abhauen wollte. Er schlägt ihr jedoch vor, noch eine Nacht zu bleiben, und er möchte sie am nächsten Tag in den nächsten Ort bringen. "Annie" willigt dankbar ein. </FLASHBACK>
Kate ist allein beim Marshall, der scheinbar schläft, doch dann urplötzlich nach ihr schnappt und ihr die Atemzufuhr nimmt. Gerade noch rechtzeitig taucht Jack auf, der Kate das Leben rettet. Die Anstrengung hat die Lage des Marshalls nur verschlimmert, sein Körper wird von krampfartigen Zuckungen befallen.
Draußen fragt Kate, ob der Marshall noch lange leiden müsse, und meint, es wäre vernünftiger, ihn von seinen Qualen zu befreien. Jack erkennt, was Kate damit bezwecken will und offenbart ihr, dass er ihr Geheimnis bereits kenne. Er versichert ihr, dass er den Marshall nicht erlösen werde, denn er sei kein Mörder.
<FLASHBACK> Auf dem Weg zum nächsten Ort verrät Kate dem Farmer, dass sie ihn angelogen habe. Dieser weiß bereits, dass sie von der Polizei gesucht wird, da er beim Postamt gesehen hat, dass sie 23.000 Dollar wert ist. Von hinten nähert sich bereits ein Marshall, denn Kates Arbeitgeber hat das Kopfgeld zu seinem Bedauern bitter nötig... Als ihr Wagen links überholt wird, fährt der Marshall neben ihnen, kurbelt das Fenster hinunter und begrüßt Kate mit einer Geste. </FLASHBACK>
Das Wetter hat umgeschlagen und es regnet wieder einmal wie aus Eimern. Michael erklärt seinem Sohn in einem Unterschlupf, dass er seinen verlorenen Hund wiederfinden würde. Als der Regen vorbei ist, macht er sich also auf die Suche, doch ein unheimliches Geräusch sorgt dafür, dass er seine Beine in die Hand nimmt. Nach einem kurzen Sprint steht er vor Sun, die sich gerade wäscht- sie ist nackt. Michael stammelt eine Erklärung und begibt sich zurück zum Strand.
Dort unterhalten sich Sawyer und Kate über den Marshall, dessen geplagte Schreie über die ganze Küste hallen. Auch Sawyer ist der Meinung, dass es das beste wäre, ihn von seinen Qualen zu befreien. Jack hingegen ist im Zelt des Marshalls und wird dort von diesem gewarnt. Egal was Kate ihm vorspiele, er dürfe ihr kein Wort glauben und ihr nicht vertrauen. Sie sei extrem gefährlich...
<FLASHBACK> Die Verfolgungsjagd zwischen Kate und dem Marshall nimmt verheerende Ausmaße an, als der Wagen des Farmers von der Straße abkommt und sich überschlägt. Kate klettert aus dem brennenden Wrack und zerrt auch den bewusstlosen Farmer nach draußen. Sie bringt ihn nach oben zur Straße und hofft auf eine Mitfahrgelegenheit, doch der Marshall erwartet sie schon mit seiner geladenen Waffe... </FLASHBACK>
Auf seine Bitte hin spricht der Marshall mit Kate unter vier Augen. Er weiß, dass er nicht mehr lange leben werde, und bittet Kate darum, ihn zu erlösen. Draußen erfährt Jack von Hurley, dass Kate eine Waffe besitzt. Als er zum Zelt läuft, sieht er sie, und gerade als sie sich zu ihm dreht, fällt ein Schuss. Sawyer kommt aus dem Zelt. Er hat es vollbracht- glaubt er. Denn ein qualvolles Stöhnen des Marshalls zeigt an, dass Sawyer mit seiner einzigen Kugel das Herz verfehlt hat. Nun droht der Marshall zu verbluten, wogegen Jack nichts unternehmen kann. Kurze Zeit später kommt Jack wieder aus dem Zelt. Das Stöhnen ist verstummt...
Als die Sonne wieder am Himmel steht benutzt Locke eine kleine Pfeife, die er sich geschnitzt hat. Gleich darauf taucht Vincent, der Hund von Walt, aus dem Dschungel auf. Locke bringt ihn zu Michael, da er weiß, dass ihn dessen Sohn wieder respektieren wird, wenn er ihm den Hund wiederbringt. So geschieht es, und Michael ist für Walt ein großer Held.
Kate will Jack unterdessen offenbaren, warum der Marshall hinter ihr her war. Doch Jack lehnt ab- er wolle es nicht wissen.
****
EPISODE 1.04
WILDSCHWEINJAGD (WALKABOUT)
<FLASHBACK> Locke erwacht nach dem Absturz auf der Insel, um ihn herum herrscht Chaos. Er blickt zu seinen Füßen und hebt einen Schuh vom Boden auf. </FLASHBACK>
Wieder wird das Lager am Strand nachts von seltsamen Geräuschen heimgesucht. Jack geht der Sache mit einer Taschenlampe auf den Grund, im Inneren des Wrackteils sieht er eine schwarze Gestalt. Als Sawyer es blendet dreht es sich um und geht auf die anderen los. Nachdem es Charlie leicht gerammt hat, verschwindet es im Dschungel. Locke meint daraufhin, dass es sich um ein Wildschwein gehandelt hat. Ein freudiges Grinsen ist auf seinen Lippen zu sehen.
Während Jack Charlie verarztet diskutiert er mit Kate und Sayid über die Toten, die den Absturz nicht überlebt haben. Jack ist dafür, dass sie verbrannt werden sollten, da die Leichen sonst von wilden Tieren gefressen werden, was menschenunwürdig ist. Er will damit aber noch bis zum nächsten Sonnenuntergang warten, in der Hoffnung, dass jemand das Feuer sieht.
Am nächsten Tag ist Sawyer abermals in eine Schlägerei verwickelt, diesmal mit Hurley. Da das Essen ausgegangen ist verdächtigt Hurley natürlich Sawyer. Als die anderen dazwischengehen übernimmt Locke das Wort und schlägt vor, dass sie selbst für Essen sorgen- immerhin gebe es Wildschweine auf der Insel. Passenderweise hat er einen Koffer gefunden, der voller Jagdmesser ist.
<FLASHBACK> Am Telefon verwendet Locke militärische Abkürzungen, was den Eindruck erweckt, dass er über eine Mission spricht. Dann sieht man allerdings, dass er bloß in seinem Büro sitzt. Sein Vorgesetzter kommt zu ihm, um ihn an seinen Job zu erinnern. Scherzhaft stichelnd nennt er ihn "Colonel". </FLASHBACK>
Bevor die große Jagd beginnt, offenbart Kate Jack, dass sie sich den anderen anschließt, da Sayid sie gebeten hat, einen Empfänger für sein Funkgerät an einem hohen Punkt der Insel anzubringen. Auch Michael geht mit auf Jagd. Seinen Sohn Walt vertraut er solange Sun an.
Claire hat gehört, dass die Verstorbenen verbrannt werden sollen. Sie beschließt, Informationen über alle Betroffenen zu sammeln, um ihnen mit einer Rede am Feuer die letzte Ehre zu erweisen. Währenddessen bittet Shannon Charlie um Hilfe, da sie ihrem Bruder Boone zuvor vermittelt hat, dass sie in der Lage sei, einen Fisch zu fangen. In Wahrheit ist sie aber völlig ahnungslos.
Der Jagdtrupp stößt auf ein erstes potentielles Abendessen. Doch das Wildschwein entpuppt sich als hartnäckiger als erwartet. Es wirft sowohl Michael als auch Locke zu Boden und kann ungeschoren davonkommen.
<FLASHBACK> Während einer Mittagspause zieht Lockes Vorgesetzter ihn wieder auf. Er hat eine Broschüre über einen "Walkabout" gefunden, einen Trip durch Australien. Scheinbar ist er nicht der Ansicht, dass es das richtige für Locke ist, doch dieser ist überzeugt, es durchzuziehen. Locke erwähnt Norman Croucher, der ohne Beine auf den Gipfel des Mt. Everest gekommen ist, da es seine Bestimmung sei. Auch er habe eine solche Bestimmung. </FLASHBACK>
Als Locke wieder auf die Beine kommt, geht er los, um das Wildschwein alleine zu jagen.
Im Meer versuchen Charlie und Hurley sich erfolglos am Fischfang, während Claire Sayid einen Umschlag überreicht, der scheinbar ihm gehört. Sayid holt ein Foto einer nahöstlichen Frau daraus hervor. Jack sitzt schon seit langer Zeit an der Seite der schweigenden Rose, die er fünf Tage zuvor wiederbelebt hat. Sie steht scheinbar immer noch unter Schock, da sie ihren Mann verloren hat. Schließlich öffnet sie sich jedoch und beginnt mit Jack zu reden.
<FLASHBACK> In einem Telefonat mit einer Frau namens Helen erzählt er dieser, dass er vor hat, auf einen "Walkabout" zu gehen. Auch für sie habe er ein Ticket nach Australien gekauft. Doch Helen ist gar nicht begeistert von dieser Idee. Sie erzählt ihm, dass sie keine "Kunden" treffen dürfe und bittet ihn, aufzulegen, da sie ihm sonst eine weitere Stunde verrechnen müsse... </FLASHBACK>
Kate hat einen geeigneten Punkt gefunden, an dem sie den Empfänger anbringen möchte. Der verletzte Michael wartet solange am Fuß des Baumes auf sie. Als Kate das Gerät festbinden will, fällt es ihr aus den Händen. In der Ferne fallen abermals Bäume um. Locke ist ganz in der Nähe- die neue Beute taucht vor ihm auf. Diese scheint gewaltig zu sein, denn Johns Blick erfasst etwas, das viele Meter über dem Boden ist. Mit großen Augen starrt er es an- wir sehen es allerdings nicht.
Charlie hatte tatsächlich Erfolg- er bringt Shannon einen toten Fisch. Dumm nur, dass Boone das zu Gesicht bekommt. Sofort entschuldigt er sich bei Charlie, dass seine Schwester ihn ausgenutzt habe, so wie sie es mit jedem tun würde. Rose und Jack unterhalten sich über die anderen Passagiere des Flugzeuges, von denen Jack glaubt, dass sie alle tot seien. Rose ist da nicht seiner Meinung- vermutlich würden die anderen genau das gleiche von ihnen denken.
Kate tritt an Jack heran und informiert ihn, dass Locke es vermutlich nicht geschafft habe. Gerade in dem Moment sieht Jack eine Person im Anzug in der Ferne. Er läuft ihr nach, doch sie ist verschwunden. Stattdessen taucht Locke vor ihm auf. Blutverschmiert zerrt er seine erlegte Beute zum Strand.
Nachts hält Claire ihre Rede vor den Flammen. Michael fragt Locke, ob er das Monster gesehen habe, das laut Kate direkt auf ihn zugelaufen sei. Locke antwortet mit "nein".
<FLASHBACK> Locke hat in Australien große Probleme, beim "Walkabout" teilnehmen zu dürfen, obwohl alles gebucht ist. Der Veranstalter meint, es sei für Locke unmöglich, da er seit vier Jahren im Rollstuhl sitze. Widerwillig muss er also einsehen, dass er mit dem nächsten Flugzeug nach Amerika zurückfliegen muss- natürlich mit Flug 815. </FLASHBACK>
<FLASHBACK> In einer längeren Version des Rückblick nach dem Absturz wird klar, warum Locke seine Beine angestarrt hat. Er steht auf und kann wieder laufen, obwohl er im Rollstuhl sitzend ins Flugzeug gestiegen ist. </FLASHBACK>
Locke blickt ins Feuer. Direkt davor steht sein Rollstuhl, auf den er nicht mehr angewiesen ist.
****

hauptpersonen.txt

Kate
Locke
Jack
Jin
Sun
Charlie
Sawyer
Sayid
Claire
Boone
Shannon
Walt
Michael
Hurley

谢谢。

不要使用 double作为地图键。问题在这里:

for (double i = 1.01; i < 1.25; i+=0.01) {
    string it = to_string(i);
    // ...
}

您希望std::to_string(1.01)给您:"1.01",但不会。您可以用这样的东西替换循环:

for ( int i = 1; i < 25; ++i ) {
    std::string it = std::string("1.") + ( i < 10 ? "0" : "" ) + std::to_string(i);
    // ...
}

或:

for ( int i = 101; i < 125; ++i ) {
    std::string it = std::to_string(i);
    it.insert(it.begin() + 1, '.');
    // ...
}

发挥创意。