Funktion RLE_Compress(eingabe):
    wenn Länge der eingabe = 0:
        Rückgabe leere Zeichenkette
    
    komprimiert = leere Zeichenkette
    aktuelles_zeichen = eingabe[0]
    count = 1
    
    Für i von 1 bis Länge der eingabe - 1:
        Wenn eingabe[i] = aktuelles_zeichen:
            count = count + 1
        Sonst:
            komprimiert = komprimiert + aktuelles_zeichen + count
            aktuelles_zeichen = eingabe[i]
            count = 1
    
    komprimiert = komprimiert + aktuelles_zeichen + count
    Rückgabe komprimiert




int main()
{
    // Stelle 2 Variablen bereit für Ein- und Ausgabe,
    // string unkomp   , string  komp
    string unkomp = { "AAAAABBBCCDAA" };
    string komp = "";

    int len = unkomp.size();

    // Variable für jedes einzelne untersuchte char zeichen
    char zeichen;
    // Variable für die Anzahl int wiederholung
    int anzahl = 1;
    cout << unkomp << "\n";
    // Schleife über alle Zeichen von unkomp
    for (int i = 0; i < len; i++)
    {
        anzahl = 1;
        cout << unkomp[i];
        //      zwei aufeinander folgende Zeichen sind gleich
        //                                und noch nicht am Ende von unkomp
        while (unkomp[i] == unkomp[i + 1] && i < len - 1)
        {
           //cout << unkomp[i+1];
            anzahl++;
            i++;
        }

        cout <<anzahl<< "\n";
    }
}

Last modified: Wednesday, 21 August 2024, 8:39 AM