C代写:CS141 Recursion, Searching, Sorting and Pointers

代写C语言的基础练习作业,考察Recursion, Searching, Sorting和Pointers的用法。

Recursion, Searching, Sorting, and Pointers

In this assignment you are to code each of the functions specified below. You will then need to test them with a main() function that invokes them by producing the same sequence of calls as the sample output run shown.

Assume the following declarative constants

1
2
#define COL 20
#define ROW 20

Requirement

Consider the following function prototype specifications:

  • Sort a matrix of size NxM in descending order. i.e. A[0][0] would have the largest value and A[N][M] would have the smallest value. Example of a 3x3 sort:

    9 8 7
    6 5 4
    3 2 1

    1
    int SortMatrix(int A[][], unsigned int rowsize, unsigned int colsize);
  • Given a matrix of size NxM sorted in descending order and value V, write a function which returns -1 if value V is not in the matrix, else it returns 1 if V is in the matrix.
    The function also computes the position of V in the matrix, that is P=[R,C], where R is the row number of V and C is the column number of V in the matrix, is V is in the matrix (if V is not in the matrix then P=[-1,-1]); P is a 1D array of size 2. You must use the recursive
    Binary Search method.

    1
    int SearchMatrix(int A[][], int V, int *P, unsigned int rowsize, unsigned int colsize);
  • Write a main program which:

    • a. reads a matrix of size N * M containing random integers between 0 and 100;
    • b. sort the matrix in descending order;
    • c. ask the user for a value V and search for V in matrix; in which case, the function will compute the position of V as P=[R,C] and return -1 or +1 depending if V is in A or not. Compilation on the CS server gcc compiler without errors and warnings.

You are to submit the following

  • Source code file: assign_1.c
  • Script file demonstrating the compilation and execution: assign_1.txt
  • To generate the script file use the following command from the CS server:
    • cp assign_1.c assign_1.bak
    • script assign_1.txt
    • cat assign_1.c
    • cc assign_1.c
    • ./a.out
    • [test your code here with at least 3 different input test cases]
    • exit [this step is important to close the script file and complete it]
    • [These steps will create a file called assign_1.txt. Do not edit its contents - just submit it!]

Submit both files through Blackboard as attachments.

NOTES

  1. Write and document a complete C program that is capable of satisfying the requirements of this assignment problem. UNDOCUMENTED OR IMPROPERLY DOCUMENTED code will automatically lose 50% marks.
  2. Your assignment must be RECEIVED by the due date and time. Late assignment submissions are NOT accepted. Keep your script file, and all your code unmodified as proof of its completion in case it is not received.
  3. It is your responsibility to get an early start on the assignment, research and ask questions ahead of time from the due date.
  4. Marks will be deducted for unclear code. (Improper spacing and alignment, lack of proper indentation style, hard to read programs and missing outputs).
  5. Make sure you turn in a complete script file that clearly shows: your code, your compilation process, a listing of the directory showing your source file(s) and the execution of a.out with the date/time stamps, and the output. (DO NOT SUBMIT a.out FILES!)