Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

This script will call a C++, Java, or Rust program that takes a command-line argument inputFile.json, and verify that each sample is a sorted array.

This script will call a C++, Java, or Rust program that takes a command-line argument inputFile.json, and verify that each sample is a sorted array. If a sample array is not sorted, there must be some position i such that the ith element is equal to or larger than the i+1st element. We call this a consecutive inversion. For example, if A = [2, 0, 3, 2, 5] there is a consecutive inversion at location i = 2 because A[2] = 3 2 = A[3]. For example, the samples:

Sample1=[1641818748,1952682320,195384256,1702150187], and Sample2 = [683761375, 406924096, 362070867, 592214369]

are defined by the following input file SampleExample.json: {

 "Sample1": [-319106570,811700988,1350081101,1602979228], "Sample2": [-319106570,811700988,797039,-1680733532], "metadata": { 
 "arraySize":4, 
 "numSamples":2 } 

}

Sample2 has consecutive inversions at index 1 and 2, and running

./sortedverification.sh SampleExample.json

outputs a JSON file whose contents are printed to stdout:

{"Sample2":{"ConsecutiveInversions":{"1":[811700988,797039],"2": [797039,-1680733532]},"sample":[-319106570,811700988,797039,-1680733532]}, "metadata":{"arraySize":4,"file":"SampleExample.json","numSamples":2, "samplesWithInversions":1}} 

The above text is printed on a single line to stdout (use output redirection to save to a file). To make it readable, use https://jsonformatter.curiousconcept.com/ to obtain a human readable version of this string (i.e. whitespace is added for clarity):

{ "Sample2":{ 
 "ConsecutiveInversions":{ "1":[ 

811700988,

797039 ],

 "2":[ 797039, 
 -1680733532 ] 
 }, "sample":[ 

-319106570,

6

811700988, 797039, -1680733532 

] },

 "metadata":{ "arraySize":4, "file":"SampleExample.json", "numSamples":2, "samplesWithInversions":1 

} }

You can also view this output in the file SV-SampleExample.json. Sample1 has no inversions so its data is not printed to the JSON output above. Notice that if the consecutive inversions of a sample are added to the JSON object, the sample data (the array) is also added to the JSON object.

Use c++ please

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Essentials of Database Management

Authors: Jeffrey A. Hoffer, Heikki Topi, Ramesh Venkataraman

1st edition

133405680, 9780133547702 , 978-0133405682

More Books

Students also viewed these Databases questions

Question

What are the benefits that common stockholders may receive?

Answered: 1 week ago