Hirdetés

Új hozzászólás Aktív témák

  • Tottu

    senior tag

    Helló!

    Lenne egy kisebb-nagyobb gondom. Egy programot sikerült tökéletesre megcsinálni az alábbi paraméter átadással:
    //A main függvény az alábbi sorokat tartalmazza
    //Gráfpontok létrehozása
    CGrafNode* graf_node1 = new CGrafNode(1);
    CGrafNode* graf_node2 = new CGrafNode(2);
    CGrafNode* graf_node3 = new CGrafNode(3);
    CGrafNode* graf_node4 = new CGrafNode(4);
    CGrafNode* graf_node5 = new CGrafNode(5);
    CGrafNode* graf_node6 = new CGrafNode(6);
    CGrafNode* graf_node7 = new CGrafNode(7);
    CGrafNode* graf_node8 = new CGrafNode(8);
    CGrafNode* graf_node9 = new CGrafNode(9);

    //Gráfpontokat összekötő élek létrehozása
    new CGrafLine(graf_node1, graf_node2);
    new CGrafLine(graf_node2, graf_node3);
    new CGrafLine(graf_node2, graf_node1);
    new CGrafLine(graf_node1, graf_node6);
    new CGrafLine(graf_node3, graf_node4);
    new CGrafLine(graf_node4, graf_node5);
    new CGrafLine(graf_node5, graf_node3);
    new CGrafLine(graf_node5, graf_node8);
    new CGrafLine(graf_node6, graf_node7);
    new CGrafLine(graf_node7, graf_node6);
    new CGrafLine(graf_node7, graf_node8);
    new CGrafLine(graf_node8, graf_node9);
    new CGrafLine(graf_node9, graf_node8);
    new CGrafLine(graf_node3, graf_node6);

    //Eredmény kiírása
    graf_node4->PrintUnavailableNode();

    A fent leírt módon tökéletessen lefut a program, és helyes eredményeket adja is vissza. Azonban nekem file-ból kell beolvasni. Ezt is megoldottam az alábbi módon:

    int NodeNumber, GrafLineNumber, StartNode;

    ifstream FIn("be.txt");
    ofstream FOut("ki.txt");

    FIn >> NodeNumber;
    FIn >> GrafLineNumber;
    FIn >> StartNode;

    CGrafNode* Graf[10000];
    for(int i=1 ; i<=NodeNumber ; i++){
    Graf[i] = new CGrafNode(i);
    }

    for(int i=1 ; i<=GrafLineNumber ; i++){
    int FromNode, ToNode;

    FIn >> FromNode;
    FIn >> ToNode;
    new CGrafLine(Graf[FromNode], Graf[ToNode]);
    }
    Graf[StartNode]->InternalGetUnavailableNode();

    Azonban ha így hozom létre az objektumokat akkor már hibássan működik a program. Le ellenőriztem a beolvasott adatokat, és abban nem volt hiba. Mivel az első megoldásnál jó volt a program kimenete, így az algoritmusnak is jónak kellene lenni-e.
    Mi lehet a gond?

Új hozzászólás Aktív témák