Suche einen Algorithmus zu



  • Hallo zusammen 🙂

    bin noch recht frisch in C++ unterwegs (also noch Grundlagen und keinen OO-Ansatz) und habe mich schon an einigen Aufgaben geübt. Nun habe ich folgende Beschreibung einer neuen Aufgabe aber komme absolut nich auf einen Ansatz wie ich diese lösen könnte.

    Es wäre echt klasse wenn mir jm. weiterhelfen könnte.

    ich habe zwei arrays und mus schauen ob der inhalt von A in B vorkommt und B in A

    z.B.

    A[0] = 1 B[0] = 4
    A[1] = 3 B[1] = 2
    A[2] = 2 B[2] = 5
    A[3] = 1 B[3] = 3
    B[4] = 2

    Habe es schon mit zwei forschleifen probiert aber wie ich komme ned drauf

    wäre super für etwas suport.
    DAnke und grüße



  • Was ist denn die Lösung für dein Beispiel?

    Also nicht der Code, sondern wie soll die Ausgabe für dein Beispiel aussehen?



  • Also im ersten schritt will ich diese nur Zählen.

    Im zweiten eventuel die größte oder die kleinste übereintimmung finden.

    Hatte schon so etwas versucht mit

    if(A[m]==B[n]) {j++;}
    else{n++;}
    

    in zwei Schleifen bei der ich das erst mal m hochzähle und das andere mal n. Das hatte aber nicht den gewünschten erfolg.



  • Zerleg deine Funktion doch einfach mal in zwei Unterfunktionen. Die eine sucht den Anfang der Uebereinstimmung, wenn sie den finden, ruft sie die zweite Funktion auf, welche die Laenge der Uebereinstimmung bestimmt. Das macht das ganze leichter.



  • Dann frage ich mal anders:

    Wo kommt (bei deinem Beispiel) A in B und B in A vor?
    Spielt die Reihenfolge der Daten eine Rolle, die Länge der Übereinstimmung



  • Eigentlich ist doch std::includes für deine Anforderung prädestiniert, sofern du deine Elemente sortiert hast.



  • DirkB schrieb:

    ...Wo kommt (bei deinem Beispiel) A in B und B in A vor?...

    Ach so war das gemeint. Die Reihenfolge spielt keine Rolle daher wären die Zahlen die zu finden sind 2 und 3

    Skym0sh0 schrieb:

    Eigentlich ist doch std::includes für deine Anforderung prädestiniert, sofern du deine Elemente sortiert hast.

    Das ist ne coole Idee zuerst sortieren. Probiere ich gleich mal aus und versuche damit weiter zu kommen danke.

    Uh das tüfteln macht spaß (auch wenn es für euch zu einfach ist 😃 ) Danke



  • Sulfium schrieb:

    DirkB schrieb:

    ...Wo kommt (bei deinem Beispiel) A in B und B in A vor?...

    Ach so war das gemeint. Die Reihenfolge spielt keine Rolle daher wären die Zahlen die zu finden sind 2 und 3

    Schaue für jedes Element von A, ob es in B vorkommt.

    Sulfium schrieb:

    Uh das tüfteln macht spaß (auch wenn es für euch zu einfach ist 😃 ) Danke

    Jeder hat klein angefangen.

    Der Spaß bei der Aufgabe fängt richtig an, wenn man sich überlegt, wie das Ergebnis aufbereitet werden soll.
    - nur (auf der Konsole) ausgeben
    - oder auch in einem Array.
    - ist noch interessant, wie oft die Werte vorkommen.
    ...


Anmelden zum Antworten