The function I am trying to write is supposed to be recursive and does the following:
Return the number of ways that all n2 elements of a2 appear in the n1 element array a1 in the same order (though not necessarily consecutively). The empty sequence appears in a sequence of length n1 in 1 way, even if n1 is 0.

For example, if a1 is the 7 element array
"Bart" "Lisa" "Maggie" "Marge" "Lisa" "Maggie" "Homer"
then for this value of a2 the function must return
"Bart" "Marge" "Maggie" 1
"Bart" "Maggie" "Homer" 2
"Marge" "Bart" "Maggie" 0
"Lisa" "Maggie" "Homer" 3

So far, I have written this much:

int countIncludes(const string a1[], int n1, const string a2[], int n2)
{
	if (n2 == 0)
		return 1;
	if (n1 == 0)
		return 0;
	else
	{
		if (a1[0] == a2[0])
			return countIncludes(a1+1, n1-1, a2+1, n2-1);
		else
			return countIncludes(a1+1, n1-1, a2, n2);
	}
}

But it is incomplete and I know it does not work properly. I need help figuring out how to do this problem--just a method about how to go about this would be extremely helpful.

Thank you so much in advance!

Recommended Answers

All 4 Replies

lololol are you in carey's class or are you in david's?

lololol are you in carey's class or are you in david's?

Hahaha I'm in David's. Got desperate considering how late it is. Anyway, I figured it out! So nevermind.

Thanks a bunch! (:

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.