Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

write a C++ program that outputs each number and its rank in the list from a giv

ID: 3665347 • Letter: W

Question

write a C++ program that outputs each number and its rank in the list from a given list of 20 distinct integers. The rank of a number x in list L is the number of elements larger than x in L.

For example,
Input: 20 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1
Output: (20 0) (2 18) (3 17) (4 16) (5 15) (6 14) (7 13) (8 12) (9 11) (10 10) (11 9) (12 8) (13 7) (14 6) (15 5) (16 4) (17 3) (18 2) (19 1) (1 19)
/* the order of the pairs in the list in the output is not important */

Your program must implement the following algorithm:
Read input of N=20 integers into array A
Scan array A as index i runs from 0 to N-1
calculate the rank of A[i] by counting all numbers that are larger than A[i]
Output all elements and their ranks in list L (i.e. array A)

In this assignment you are asked to implement list L as a linear linked list such that each node in L contains an element and its rank in array A, and next fields.

Explanation / Answer

#include<iostream.h>

#include<stdio.h>

int main()

{

cout<<"enter the array of 20 numbers";

for(int i=0;i<20;i++)

cin>>a[i];

int rank(int number) /* function to calculate rank of a number from the array */

{ int count=0;

for(i=0;i<20;i++)

{if(a[i]>number)

count++;

}

return count;

}

for(i=0;i<20;i++)

{ int p; /* variable to hold the rank*/

cout <<a[i]; /* output the array */

p=rank(i); /* function call to rank() to calculate rank of a number from array */

cout<<p;

}

}