lab11.pdf

C101 Laboratory Session #11

Lab Goals: 1) Practice in dealing with integer Arrays

The idea here is to in a way create our own "Very big integer type" by using integer arrays. Right now the largest "short int" is 32,767 and the largest "long int" is 2,147,483,647, where the last has only ten digits. But what if we wanted an integer that had 20 digits or even more. We could use int arrays and create our own data type by letting each digit in our number be stored in each array element. We could actually create an integer that has more than 1,000 digits in it.

The way it works is to store each "Large int" in an integer array, so if the user enters the number "7834" and we have an int array named N, then N[0] has 7, N[1] has 8, N[2] has 3 and N[3] has the number 4 in it. So depending on the array size would determine the number of digits our "Large int" could be.

This lab deals with having the user enter any positive large integer, lets use a maximum number of digits to be 20, hence this will be our array size. This number will then have to be stored in an int array, but each separate digit of the number must be stored separately in the correct array element location. To extract one digit at a time one needs to read each digit first as a single character, convert this character to an integer and store this integer into the correct array location. Then read the next character digit and so on until the newline is encountered.

When program is done reading in and storing number, then display the array on the screen. Sample output is shown:

Program will continue to read and display numbers until user decides to quit.

Please enter large number --> 984567 Large twenty digit Number is 00000000000000984567

Continue ‘Y’ or ‘N’, response -->

**Hint: To convert the character digit to an integer you need to subtract the ASCII number 48 from the character. i.e. ASCII for character zero is 48, '0' = 48, so 48 - 48 is integer 0.