Eliminate redundancy within a program by applying loops and


1. Learner Objectives:

At the conclusion of this programming assignment, participants should be able to:

Apply and implement all your problems solving and C skills developed this semester!

Apply and implement pointers in C

Manipulate and split arrays and strings

Apply and implement recursive functions

II. Prerequisites:

Before starting this programming assignment, participants should be able to:

Analyze a basic set of requirements and apply top-down design principles for a problem

Apply repetition structures within an algorithm

Construct while (), for (), or do-while () loops in C

Compose C programs consisting of sequential, conditional, and iterative statements

Eliminate redundancy within a program by applying loops and functions

Create structure charts for a given problem

Open and close files

Read, write to, and update files

Apply standard library functions: fopen (), fclose (), fscanf (), and fprintf ()

Compose decision statements ("if" conditional statements)

Create and utilize compound conditions

III. Overview & Requirements:

For this assignment you will be required to write functions which solve each of the following problems. You must place all of your functions in one project. If you use any code that you find online, you must reference it in comments.

1. Write a function called my_str_n_cat() that accepts pointer to a destination character array, a pointer to a source character array (which is assumed to be a string), and a integer n, and returns the pointer to the destination character array. This function needs to copy at most n characters, character by character, from the source character array to the end of the destination character array. If a null character is encountered before n characters have been encountered, copying must stop. You may NOT use any functions found in to solve this problem! Note: you may use array or pointer notation in this function.

2. Write a function called bubble_sort() that accepts an array of pointers to strings and the number of strings as arguments, and returns nothing. The function sorts the strings according to the following algorithm:

1. set the marker U for the unsorted section at the end of the list (U is an integer index value)
2. while the unsorted section has more than one element do steps 3 through 7
3. set the current element marker C at the second element of the list (C is an integer index value)
4. while C has not passed U do steps 5 and 6
5. if the item at position C is less than the item to its left then exchange these two items
6. move C to the right one position
7. move U left one position
8. stop

Your implementation for this function may NOT use strcpy(). You may only exchange or swap pointers, but NOT actually make copies of the strings!

3. Write a recursive function called sum_primes() that accepts an unsigned integer, n, as an argument, and returns the sum of all primes from 2 to n. You must use recursion to solve this problem!

4. Write a function called smallest_sum_sequence() that accepts an array of signed integers and the number of items in the array as arguments, and returns the smallest sum of a sequence of numbers in the array. A sequence is defined as a single item or multiple items that are in adjacent memory locations.

5. Write a function called max_consecutive_integers() that accepts a two-dimensional array of signed integers, the number of rows, the number of columns as input parameters, and two pointers as output parameters (one of these pointers is actually a pointer to a pointer, i.e. two stars!). The function finds the maximum consecutive sequence of one integer. The first pointer stores the address the start of the maximum consecutive sequence of the same integer. The second indirectly stores the number the same consecutive integers in a row. These sequences may wrap from one row to the next.

Row/Column

0

1

2

3

4

0

-5

[$1000]

6

[$1004]

0

[$1008]

2

[$1012]

2

[$1016]

1

2

[$1020]

2

[$1024]

2

[$1028]

9

[$1032]

3

[$1036]

2

3

[$1040]

3

[$1044]

2

[$1048]

1

[$1052]

-8

[$1056]

3

7

[$1060]

-2

[$1064]

6

[$1068]

0

[$1072]

4

[$1076]

Solution Preview :

Prepared by a verified Expert
C/C++ Programming: Eliminate redundancy within a program by applying loops and
Reference No:- TGS01384680

Now Priced at $60 (50% Discount)

Recommended (98%)

Rated (4.3/5)