Gegeben ist die folgende Spezifikation eines Algorithmus:
Eingabe: ▪ eine Folge ganzer Zahlen, alle verschieden (z.B. 3 11 7 2 18): werte1
▪ eine Folge ganzer Zahlen, alle verschieden (z.B. 2 21 3 19 6): werte2
▪ beide Folgen sind gleich lang, die Länge einer Folge
steht in laenge
Ausgabe: ▪ die Anzahl der Elemente, die sowohl in werte1 als auch in werte2
vorkommen
Hier ist mein Code: Ich finde den Fehler nicht, welche meine Anzahl der Elemente ausgeben lässt, von der Theorie gesehen finde ich den Fehler nicht :(
#include <stdio.h>
int vergleich(int mengeA[],int laenge,int mengeB[]){
int anzahl, zA, zB, counter = 0;
for(zA = 0; zA < laenge; zA++){
for(zB = 0; zB < laenge; zA++)
if(mengeA[zA] == mengeB[zB]){
counter = counter + 1;
}
}
counter = anzahl;
return anzahl;
}
int main (){
int i,laenge, werte1[laenge], werte2[laenge];
printf("Länge: ");
scanf("%d", &laenge);
laenge;
printf("\nEingabe von %d Versionsnummern, ", laenge);
printf("durch Leerzeichen getrennt:\n");
for (i=0; i< laenge; i++)
scanf("%d", &werte1[i]);
printf("\nEingabe von %d Versionsnummern, ", laenge);
printf("durch Leerzeichen getrennt:\n");
for (i=0; i< laenge; i++)
scanf("%d", &werte2[i]);
printf("\nanzahl: %d", vergleich(werte1, laenge, werte2));
return 0;
}