2017-03-17 5 views
-2

Meine Aufgabe ist:Subset Verifikation unter Verwendung der Rekursion C++

die is_element_of Funktion kann eine Funktion implementieren, die bestimmt, ob ein Feld eine „Teilmenge“ eines andere ist (das heißt, ob jedes Element in einem Array ist auch ein Element von Array b)

bool is_subset(int* a, int length_a, int* b, int length_b) 
bool is_element_of(int i, int* array, int length) 

-Code für is_element_of

bool is_element_of(int i, int* array, int length) { 
    if (length == 0) 
     return false; 
    else { 
     if (i == array[length - 1] || is_element_of(i, array, length - 1)) 
      return true; 
     else 
      return false; 
    } 
} 

-Code für is_subset

bool is_subset(int* a, int length_a, int* b, int length_b) { 
    if (length_a == 0 && length_b == 0) 
     return true; 
    else if (length_a != 0 && length_b == 0) 
     return false; 
    else { 
     if (
      is_element_of(a[length_a], b, length_b) && 
      is_subset(a, length_a - 1, b, length_b) 
     ) 
      return true; 
     else 
      return false; 
    } 
} 

Kann jemand das Problem hinweisen bitte?

+0

BTW, ich empfehle dringend nicht versteifte Steueranweisungen mit Inline-Anweisungen zu mischen - so ist Heartbleed passiert. – Dai

+0

Also, was ist das Problem? Du hast es nicht gesagt. – Dai

+0

Die Funktion is_subset funktioniert nicht, ich weiß nicht, wo ich anfangen soll. – user3908838

Antwort

0

in is_subset Funktion, auf 2. Zeile diesen Code verwenden, if (length_a == 0)

und

in Zeile 8 diesen Code verwenden,

is_element_of (a [length_a-1 ], b, length_b) & &