udvidet spørgsmål til indlæsning af speciel tekstfil

Tags:    c++

hej

jeg sidder med nøjagtig samme tekst fil som der er vist i spørgsmålet stillet af Christopher von Würden. jeg sidder bare med et andet problem. jeg har fået til opgave at indlæse alle retningsobservationer og udskrive dem til en anden tekstfil. retningsobservationer har id-nummer:

1
1
2

hvis man har læst spørgsmålet vil man også se at der forekommer noget der hedder forkortet retningsobservationer, som har id-nummer:

1
2

forkortet retningsobservationer, må kun forekomme såfremt der har været en retningsobservation før. det vil sige at man må godt have tilfældet:

1 702.00
1 15.00
2 0.000
1 14.00
2 19.480

man må også godt have tilfældet:

1 14.00
2 19.480
1 702.00
1 15.00
2 0.000

min opgave er at scanne hele tekstfilen igennem, finde alle retningsobservationer, og forkortet retningsobservationer og udskrive dem til en anden tekstfil. problemet er bare at der er ikke nogen bestemt rækkefølge observationerne kommer i, og jeg har ikke været i stand til at scanne alle observationerne ind korrekt. hvis der er nogen der har et forslag til en maskine der kan gå ind i tekstfilen, og finde alle retningsobservationer, plus forkortet retningsobservationer, og skrive dem ud til en ny tekstfil, ville det være til stor hjælp.

hvis i ikke kan finde tekstfilen er den på linket

http://peecee.dk/upload/download/112185





Jeg forstår ikke "kun skriver 2-tallet"

Denne funktion leder kun efter 1-1-2 og returnerer da true.
Hvis det én gang har mødt 1-1-2 skal du sætte et flag og derefter også checke for 1-2



Et flag (i sin simple form) er blot et bool der er true eller false.

I spørgsmålet her: http://www.udvikleren.dk/C/Thread.aspx/1/24613/

Har jeg lavet en meget simpel sorterings funktion, du kunne starte med den.
Og bygge de resterende checks på.


det virker som om selv om jeg skriver nogle ny cases bruger den det ikke



Jeg forstår ikke "kun skriver 2-tallet"

Denne funktion leder kun efter 1-1-2 og returnerer da true.
Hvis det én gang har mødt 1-1-2 skal du sætte et flag og derefter også checke for 1-2


når den skriver til skærm.så skriver den kun den linje ud hvor id-nummer har værdien 2. jeg ville også meget gerne have de 2 linjer hvor værdien af ID nummerne er 1



Det bliver du nok lige nødt til at uddybe



Det bliver du nok lige nødt til at uddybe


hvis jeg har koden

Fold kodeboks ind/udKode 


så får jeg følgende output til skærm:

Fold kodeboks ind/udKode 

jeg har tjekket med min test.dat fil, og det passer med at jeg får id nr 2 i kombinationen 1-1-2 udskrevet til skærmen. det jeg havde tænkt mig var at den også skrev de 2 foregående linjer ud, altså så der for eksempel kom til at stå:

row: 7 id: 1 nr: 702.00
row: 8 id: 1 nr: 15.00
row: 9 id: 2 nr: 0.000




I så fald er du nødt til at gemme de to sidste linier og udskrive dem når du finder 1-1-2 kombinationen.

Det kunne være logisk at lave seq fra eksemplet her om fra en
std::list<int > seq;
til en
std::list<Data > seq;
For så har du de tidligere linier og kan udskrive dem når du finder den rigtige kombination.



I så fald er du nødt til at gemme de to sidste linier og udskrive dem når du finder 1-1-2 kombinationen.

Det kunne være logisk at lave seq fra eksemplet her om fra en
std::list<int > seq;
til en
std::list<Data > seq;
For så har du de tidligere linier og kan udskrive dem når du finder den rigtige kombination.


jeg er godt klar over at jeg skal gemme de 2 sidste linjer ved hjælp af list, men jeg er ikke med på hvor Data kommer fra, og hvor den er defineret før.jeg kunne godt tænke mig at få det specificeret en lille smule :|



Data var defineret i hans første svar i denne tråd.

har du iøvrigt kun id'erne 1 og 2?, hvis du har andre er det rimeligt syret at lave en switch over det hele.



Data var defineret i hans første svar i denne tråd.

har du iøvrigt kun id'erne 1 og 2?, hvis du har andre er det rimeligt syret at lave en switch over det hele.


nej jeg har også id'er 3 og 4, men jeg er kun intereseret i netop den kombination, men tak for hjælpen




Som Nørden skriver er Data defineret i det første eksempel i denne tråd.
Så det første skridt videre kunne være at kombinere de to eksempler.



t