Suche Algorithmus



  • Hallo ich habe eine Datei in der folgendes steht (alles hintereinander nur zur besseren anschauung umformatiert)

    ## Xs1000;Ys1000;EA0! 
    // Nr1;xP11;yP12;Tp0;AE0;BzE_1;TD0;PnE_1;NE00000000;NA00000000!
    // Nr2;xP11;yP21;Tp0;AE0;BzE_2;TD0;PnE_2;NE00000000;NA00000000!
    // Nr3;xP22;yP11;Tp6;AE2;Bz;TD0;PnAND;NE00000000;NA00000000!
    // Nr4;xP20;yP40;Tp6;AE2;Bz;TD0;PnAND;NE00000000;NA00000000! 
    // Nr5;xP11;yP41;Tp0;AE0;BzE_3;TD0;PnE_3;NE00000000;NA00000000! 
    // Nr6;xP12;yP50;Tp0;AE0;BzE_4;TD0;PnE_4;NE00000000;NA00000000!
    // Nr7;xP32;yP24;Tp8;AE2;Bz;TD0;PnXOR;NE00000000;NA00000000! 
    // Nr8;xP46;yP29;Tp1;AE1;BzA_1;TD0;PnA_1;NE00000000;NA00000000! 
    || Nr1;AP2;vBYA6;bBXB4;PV0! ''19,52;20,50;!
    || Nr2;AP2;vBYA5;bBXA4;PV0! ''18,43;20,44;! 
    || Nr3;AP2;vBYA2;bBXB3;PV0! ''18,23;22,21;! 
    || Nr4;AP2;vBYA1;bBXA3;PV0! ''18,14;22,15;! 
    || Nr5;AP2;vBYA3;bBXA7;PV0! ''29,18;32,28;! 
    || Nr6;AP2;vBYA4;bBXB7;PV0! ''27,47;32,34;! 
    || Nr7;AP2;vBYA7;bBXA8;PV0! ''39,31;46,31;!
    

    zur Zeit lese ich die Zeile Segmentweise aus und gebe diese Informationen in einen Puffer dies habe ich so realisiert

    // Segmentweise die Daten ausschneiden
    			while(Segmentausschneiden(Hauptpuffer,puffer2))
    			{
    				// Zuerst unterscheiden, um welchen Abschnitt es sich handelt
    				AktuellerSegmentTyp = keinen;
    				if (SucheString(&puffer2[0],TEXT("##"),&WertPos))
    					AktuellerSegmentTyp = Infodaten;
    				if (SucheString(&puffer2[0],TEXT("//"),&WertPos))
    					AktuellerSegmentTyp = Blockdaten;
    				if (SucheString(&puffer2[0],TEXT("||"),&WertPos))
    					AktuellerSegmentTyp = Verbindung;
    				if (SucheString(&puffer2[0],TEXT("''"),&WertPos))
    					AktuellerSegmentTyp = Verbindungspunkte;
    
    				switch (AktuellerSegmentTyp)
    				{
    

    Nun folgenden Problem ich möchte Wissen Wie oft PnE_x und wie oft PnA_x vorkommt.
    In diesen Bsp 4*PnE_x und 1xPnA_x.
    (PnE_1...Pne_x sind eingänge und PnA_1....PnA_X Anzahl der Ausgänge)

    Wie kann ich es schaffen das mir wie in diesen Bsp.: 4 Eingänge und 1 Ausgang vorhanden ist. (ausgegeben wird)

    Hoffe ihr könnt mir helfen
    Gruß Holzverleih



  • Such doch einfach im Puffer nach der Zeichenfolge "PnA_" bzw. "PnE_" und lass einen Zähler mitlaufen. Es gibt glaube ich auch eine Funktion, die gleich die Anzahl der gesuchten Strings ausspuckt (-> msdn).


Anmelden zum Antworten