Write individual C++ programs for each function.
Implement all of these functions recursively. No loops allowed. No static Variables allowed.
bool isPrefix( char target[] , char bigString[] );
// return true iff target is a prefix of bigString. No library functions allowed.
// e.g. "abc" is a prefix of "abc" and "abcde" but not of "ab" or "aabc" or "acb"
// Notes: isPrefix(w,w) and isPrefix("", w) are always true but isPrefix(y,"") is false unless y is "".
// bigString and target are C-strings meaning null-terminated character arrays.
bool equal(char s[], char t[]) ; // return true if C-strings s and t are equal
int addOdd(int n); // return the sum of all odd numbers from 1 to n
double twoToThe(int n); // return 2 to the power n including when n <= 0.
int getMax(int nums[], int size); // return the maximum value in nums.
int getIndexOfMax(int nums[], int size); // return the index of a maximum element of nums
int findLastOccurence(int nums[], int size, int target);
// return index of the last occurrence of target or -1 if target is not found.
int findFirstOccurence(int nums[], int size, int target);
// return index of the first occurrence of target or -1 if target is not found.
void printDigits(unsigned int n);
// print the digits of n separated by spaces. ie.g. 3415 --> 3 4 1 5. Assume n > 0
void drawLine(int n, char c); // output n occurrences of c on a line e.g. drawLine(4,'X') will output XXXX.
void drawRuler(int n); // output a ruler pattern, e.g. drawRuler(4) will output the pattern below. (Call drawLine.)
-
--
-
---
-
--
-
----
-
--
-
---
-
--
-
string toBase16(unsigned int n);
// return a string with the base 16 representation of n. Assume n>0.
// 6-10 lines of code should be enough.
string reverse(string s); // return a string with the same characters as s in reverse order, e.g. "abc" --> "cba"
bool isPalindrome(int nums[], int size);
// return true if the values in nums form a palindrome, e.g. {1,2,2,1} or {63,24,63}.
bool isSorted(int nums[], int size);
// return true if the values in nums are in ascending (or nondescending) order, e.g. {1,1,2,4} but not {1,1,4,2}.
unsigned int intLog(unsigned int number, unsigned int base);
// return biggest power of base that's <= number.
// e.g. intLog(233, 3) is 4 since 3^4 = 81 but 3^5 is 243.
// preconditions: base >= 2, number >= 1.
int add(int m, int n);
// return sum of m and n using ++ and -- operators ( Don't use + or - .)
// Be sure to handle the cases where m and/or n is negative.
// Hint: m + n = (m+1) + (n-1) = (m-1) + (n+1)
int times(int m, int n);
// return product of m and n using repeated addition. ( So don't use * .)
// e.g. times(3,2) = 3 + times(3,1) = 3 + 3 + times(3,0) = 3 + 3 + 0 = 6
// If n < 0 then use the identity times(m,n) = -times(m,-n)
unsigned int skipFactorial(unsigned int n); // n * (n-2) * (n-4) * .... * {1 or 2} and skipFactorial(0) = 1.
void echo();
// The user enters a sequence of nonzero integers followed by 0.
// The function then outputs the same integers in the original order, not including the 0.
// Example: 43 23 88 6 55 0 --> 43 23 88 6 55
// No arrays, strings or other data structures allowed.
void echoReverse();
// The user enters a sequence of nonzero integers followed by 0.
// The function then outputs the same integers in the reverse order, not including the 0.
// Example: 43 23 88 6 55 0 --> 55 6 88 23 43
// No arrays, strings or other data structures allowed.
This looks nice and easy, I know exactly how to write each and every one of these functions already. Just let me at it and it will be done in no time :)
$15 USD en 1 día
5,0 (3 comentarios)
2,9
2,9
4 freelancers están ofertando un promedio de $28 USD por este trabajo