[C++] enumeratie op een sublijst

Pagina: 1
Acties:

  • ranzige pad
  • Registratie: Februari 2000
  • Laatst online: 17-08 15:20

ranzige pad

kwaaak kwaak

Topicstarter
voor school moet ik een opdracht maken om nog het een en ander af te ronden.
zie hier een stukje van de code code:
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "Station.h"
#include <string>
#include <list>
#include <assert.h>

Station::Station(string naam){ //constructor
    assert(naam != "");
    this->naam = naam;
    
    afstanden = new map<Station *, int>;
    treinen = new map<Station *, list<Trein *> *>;
}

//en een methode
void Station::drukTreinenAf(){
    for(map<Station *, list<Trein *> *>::iterator iter1 = treinen->begin();
                                     iter1 != treinen->end(); ++iter1)
    {
        cout << "size van de lijst is: " << iter1->second->size() << endl;
    }
}

iedere trein heeft weer een drukaf() methode.

wat ik nou niet voor elkaar krijg is een enumeratie lost laten op de sublijst list met pointers naar treinen. weet iemand hier voor iets?? vast wel. het is het laatste stukkie wat ik nog moet.

[ Voor 17% gewijzigd door curry684 op 01-07-2003 23:50 . Reden: mooi he die [code] tags :) ]

HT & NAS & Inventaris


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 01:56
ranzige_pad schreef op 01 July 2003 @ 23:44:
wat ik nou niet voor elkaar krijg is een enumeratie lost laten op de sublijst list met pointers naar treinen. weet iemand hier voor iets?? vast wel. het is het laatste stukkie wat ik nog moet.
De oude vraag; wat heb je zelf al geprobeerd? (Zie voor deze en overige vragen de FAQ/QuickStart)

Het is vast de bedoeling van je school dat je zelf het probleem oplost, dus ik ga je geen dingen voorzeggen (laten we hopen dat anderen ook zo verstandig zijn). Wel wil ik je een beetje op weg helpen. Wat is het type van een iterator over een Vector? (Consulteer desnoods de uitstekende documentatie van SGI; bekijk bijvoorbeeld de introductie, de tekst over iterators, maps en, misschien het belangrijkste, pair associative containers)

Wat denk je dus dat het type is van *iter1? Hou zou je over de lijst van treinen willen itereren? Wat heb je dus nodig?

[ Voor 7% gewijzigd door Soultaker op 02-07-2003 01:46 ]


  • ranzige pad
  • Registratie: Februari 2000
  • Laatst online: 17-08 15:20

ranzige pad

kwaaak kwaak

Topicstarter
Van zelfsprekend heb ik al van alles geprobeerd ik zit er eingelijk al 2 avonden met te klooien. Ook heb ik al gezocht, maar ik kom er gewoon niet meer uit. Het enige wat mij resteerd is terug naar de docent. Hopen dat hij het zo acepteerd of hij mij verdere uitleg kan geven.

HT & NAS & Inventaris


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 01:56
Je kunt in die 10 minuten onmogelijk alle SGI documentatie waar ik je op wees doorgenomen hebben. Ik bedoel het niet lullig, maar volgens mij moet je daarmee toch al een stuk verder komen (in ieder geval zover dat je weer wat kunt proberen/gokken ;)). Als je er echt geen idee van hebt hoe C++ (of hoe generiek programmeren met C++) werkt, dan denk ik dat je echt beter je leerboek of je docent kunt raadplegen, want /14 is niet bedoeld om uitgebreid de basisbeginselen van het programmeren te behandelen.

Nu weet ik uit ervaring dat het experimenteren met de C++ STL erg frustrerend kan zijn (door de compleet onleesbare foutmeldingen als het niet werkt), maar ik denk toch dat je met wat logisch nadenken je een heel eind zou moeten kunnen komen. Niet zomaar opgeven dus! Als wij je nu vertellen hoe je het oplost, dan begrijp je nog steeds niet hoe het werkt, en loop je later weer vast. Als je je er nu even in verdiept kun je dit simpele probleem zelf wel oplossen en heb je er later ook nog eens wat aan. (Misschien ten overvloede, mar als het niet je intentie is om te leren programmeren - en het "later" je dus niets kan schelen - dan hoort je topic hier niet eens thuis.)

edit:
Wat bedoel je trouwens met enumeratie? Ik neem aan dat je de lijst met treinen gewoon wilt aflopen en dus een iterator over de inhoud van die lijst (per station) wilt verkrijgen?

[ Voor 11% gewijzigd door Soultaker op 02-07-2003 02:03 ]


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 21-08 17:14
Soultaker: Lijkt me duidelijk, hij heeft een aantal lijsten waarvan hij de size() afdrukt. Blijkbaar wil hij over al deze lijsten itereren.

Tip: list<Trein *> & LT = *(iter->second);

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • ranzige pad
  • Registratie: Februari 2000
  • Laatst online: 17-08 15:20

ranzige pad

kwaaak kwaak

Topicstarter
MSalters schreef op 02 July 2003 @ 09:52:
Tip: list & LT = *(iter->second);
Kijk hier had ik tenminse wat aan. Dat boze vingertje van Soultaker (lijkt wel een docent) had ik niet veel aan. Een kleine hint was voldoende geweest. Maar goed, het werkt ondertussen.

modbreak: dat boze vingertje zit wel aan een regular vast die je later nog veel kan helpen als het 'm zint. je doet er wellicht goed aan daar respectvoller mee om te springen

[ Voor 26% gewijzigd door curry684 op 07-07-2003 16:40 ]

HT & NAS & Inventaris


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 01:56
ranzige_pad schreef op 07 juli 2003 @ 15:08:
Kijk hier had ik tenminse wat aan. Dat boze vingertje van Soultaker (lijkt wel een docent) had ik niet veel aan. Een kleine hint was voldoende geweest. Maar goed, het werkt ondertussen.
Nee inderdaad, lastige mensen die je tot zelf nadenken aansporen. Gelukkig zit er altijd nog wel een coole gast tussen die zonder zeiken je huiswerk voor je maakt. :/

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 21-08 17:14
Als dat het huiswerk zou zijn - ik heb alleen iter->second een naam gegeven. TS had iter->second al ontdekt. Dingen benoemen is een redelijk normale manier op mensen te helpen zelf te denken.

Het is overigens ook een manier om zelf problemen op te lossen.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein

Pagina: 1