Anzahl gleicher Werte im anderen Array



  • Hallo,

    ich habe zwei Arrays mit Werten, ich würde jetzt gerne zählen wollen, wie viele Elemente im anderen Array gleich sind. Leider wird mir die Meldung aber zu oft Ausgegeben:

    int haeufigkeit = 0;
    int arrtemp[12];
    for (int i = 0; i < 12; i++) {
    for (int j = 0; j < 12; j++) {
    if (arrayNormal2[i] == arrayVergleich2[j]) {
    haeufigkeit = haeufigkeit + 1;
    }

    }
    printf("Zahl %d kommt %d vor\n", arrayNormal2[i], haeufigkeit);
    haeufigkeit = 0;
    }

    Zahl 3 kommt 2 vor
    Zahl 3 kommt 2 vor
    Zahl 4 kommt 3 vor
    Zahl 4 kommt 3 vor
    Zahl 4 kommt 3 vor
    Zahl 5 kommt 1 vor
    Zahl 6 kommt 2 vor
    Zahl 6 kommt 2 vor
    Zahl 7 kommt 3 vor
    Zahl 7 kommt 3 vor
    Zahl 7 kommt 3 vor
    Zahl 8 kommt 1 vor



  • wie wäre es mit einem vollständigen programmcode und vor allem damit, wie die arrays aussehen? wenn nämlich beide arrays gleich sind, kommt genau die ausgabe.



  • Die Arrays sind:

    Array Sortiert: 3,3,4,4,4,5,6,6,7,7,7,8,
    Array VGL Sortiert: 0,1,3,4,6,11,12,12,14,100,120,130,



  • also ich habs eben mal nachprogrammiert und die ausgabe ist da eine völlig andere, weil im 2. array ja nur eine 3 vorkommt und keine 7 oder 8.

    also deine schleifen arbeiten wohl korrekt, aber im 1. array dürfen keine wiederholungen vorkommen, wenn du keine mehrfachausgaben haben willst.

    oder möchtest du wissen, welches element von array-vergleich in array-normal vorkommt? dann hast du in der schleife i und j vertauscht.


Anmelden zum Antworten