Write a code block to print the content of cha and write a


Part 1

Q01:

Given a 1D array of int "intA" initialized to 10 values: 100, 200, ... 1000, a second un initialized array intB:
1. Write a program to copy intA to intB in reverse order
2. Must use looping techniques
3. Must print both arrays

Q02:

Given a 2D array of chars chA initialized to

          A    B    C    D

          E    F    G    H

          I    J    K    L

          M    N    O    P

          Q    R    S    T   

1. Write a code block to print the content of chA as it is shown above.

2. Write a code block to print the transpose of chA.

Transpose example:

If m =    1    2    3    →   mT = 1    4

          4    5    6             2    5

                                   3    6

3. Write a code block to compute the individual summation per each column, per each row and the overall summation of chA.

4. Must use looping techniques

Part 2

Q01:

Write a program to do the following:

1) Declare three uninitialized array of ints, intA1, intA2, intA3, all of length of 16.

2) A function that prints an int array in one line.

3) A function that randomly generates an int array. (hint: check random32 in Irvinelib help)

4) A function that copies an int array from another.

5) A function that reverses an int array.

6) A function computes the summation of an int array.

7) A function that computes an element-wise addition of two int arrays.

8) A function that computes an element-wise subtraction of two int arrays.

9) A function that computes element-wise abs of an int array.

10) Test each function from main, print appropriate array after each test.

Part 3

Q01: menu, while, if, for, etc.

Write a program to do the following:

1) A function that prompts the user to enter a string of a predefined max length, reads the string and stores it in a byte array.

2) Define a second byte array to store the frequencies of each character in the input string.

3) A Function that computes and saves the frequencies in item 2 above.

4) A Function to print the character and its frequency in two columns format.

5) A Function to allow the user to replace a passed character with another in the input string.

6) A Function that counts/prints how many words in the input string.

7) Make the above tasks menu options and keep prompting the user to select an option to be performed until he/she chooses to quit.

Part 4

Q01:

1. Study the algorithm of the selection sort, given below.

2. Write a function to randomly generate a char array.

3. Implement selectionSort algorithm and test it with the array in (2).

4. Test three cases: random array, sorted array and array in reverse order.

Input: A[], Size
Output: A[] : A[i] < A[i+1], i*[0,Size-1].

Assumptions: 1) IdxofMin, is a function that returns index of smallest element in A[]. You need to write the idxofMin function.
3) Swap(x,y) is a function that swaps the values of the passed arguments. You need to write the swap function.
2) A[] is in no particular order.

Algorithm: SelectionSort

FOR i=1 TO Size-1
k = idxofMin(A, i+1, Size-1)
Swap(A[i], A[k])
ROF

Part 5

Q01;

Copy part 2 and do the following:

1. Add a menu listing all the tasks to be done by the program.

2. Add a while loop structure

3. Add a switch structure based on the technique "Table-driven selection". Review CH06.58 (I am attaching at the end of this part)

4. Test all options.
"Table-driven selection". Review CH06.58

Step 1: create a table containing lookup values and procedure offsets:
.data
CaseTable BYTE 'A' ; lookup value
DWORD Process_A ; address of procedure
EntrySize = ($ - CaseTable)
BYTE 'B'
DWORD Process_B
BYTE 'C'
DWORD Process_C
BYTE 'D'
DWORD Process_D
NumberOfEntries = ($ - CaseTable) / EntrySize

Table of Procedure Offsets:

2255_Table of Procedure Offsets.png

Step 2: Use a loop to search the table. When a match is found, call the procedure offset stored in the current table entry:

            movebx,OFFSETCaseTable       ; point EBX to the table

            movecx,NumberOfEntries          ; loop counter

L1:        cmp al,[ebx]      ; match found?

            jne L2   ; no: continue

            call NEAR PTR [ebx + 1]            ; yes: call the procedure

                                                            ; +1: address after the byte                   

            jmp Default                               ; and exit the loop

L2:        add ebx,EntrySize                     ; point to next entry

            loop L1 ; repeat until ECX = 0

Default:                                                ; could have a default-case handler

Request for Solution File

Ask an Expert for Answer!!
Assembly Language: Write a code block to print the content of cha and write a
Reference No:- TGS01162252

Expected delivery within 24 Hours