1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
denpristay [2]
3 years ago
12

Write a complete program to do the following: The main program calls a method to read in (from an input file) a set of people's

three-digit ID numbers and their donations to a charity (hint: use parallel arrays). Then the main program calls a method to sort the ID numbers into numerical order, being sure to carry along the corresponding donations. The main program then calls a method to print the sorted lists in tabular form, giving both ID numbers and donations. Then the main program calls another method to sort the donation amounts into descending order, carrying along the corresponding ID numbers. It then, once again, prints the sorted lists, giving both ID numbers and donations. Finally it prints some statistics (see below). Here are the details:
The main program calls a method to read in the data from a file. The data consists of sets of lines of data, each of which contains a person's three-digit integer ID number and a donation in dollars and cents. (e.g., 456 250.00 or 123 175.34). The file is read until end-of-file is reached. The method returns how many sets of data were read in. The main program calls the return value donorCount. The main program calls these arrays idNumbers and donations. A separate printing method prints the original set of data in the form of a neat table (use printf). When the arrays print, there should be an overall heading, plus headings for the columns of ID numbers and donations.
Then the main program sends the array of ID numbers, the array of donations, and the size donorCount to a sorting method. This method sorts the ID numbers into numerical order using a selection (linear) sort. Be sure to maintain the match-up of ID numbers and donations. For example, 456 should always be associated with 250.00, no matter where 456 moves in numerical order; similarly, 123 should stay with 175.34. When the sorting method finishes and returns control to the main program, the main program calls the printing method to once again print the two arrays.
Next, the main program sends the same three parameters to the second sorting method, which sorts the donations into descending numerical order (using a bubble sort), being sure to maintain the linkup of ID numbers and donations. When this sorting method finishes and returns control to the main program, the main program, once again, calls the printing method to print the two arrays with appropriate headings. Your arrays should have room for up to 50 entries. To test the program, have a set of data with at least 15 to 20 values in each array. Make sure that your original order is not close to numerical order for either array and that the two numerical orders are not close to each other.
(NOTE: Why can’t you use the same sorting method for the two sorts???)
Finally, print statistics as follows, based on the array sorted by donation:
The id and donation amount of the highest donor (this is easy once the array is sorted!); and the median donation value, which is the middle value for an odd number of donors (e.g. for 5 donors it would be the donation value of the third) or the average of the two middle donors (e.g. for 6 donors it would be the average of the 3rd and 4th). Your program doesn’t "know" the value of donorCount so you have to check. It should work for even or odd. Also calculate and print the average donation amount.
All donation values should be printed with precision of two decimal places. Columns should be neatly aligned, so format your output carefully.
Print your input file and submit it with your program.
Computers and Technology
1 answer:
zmey [24]3 years ago
3 0

Answer:

See explaination

Explanation:

import java.io.File;

import java.io.FileNotFoundException;

import java.util.Scanner;

public class Donor {

public static void main(String[] args){

int idNumbers[] = new int[50]; //created two array each of 50 size

int donations[] = new int[50];

int donorCount=readFile(idNumbers, donations); //calling readfile function

System.out.println("--------------------Original record--------------------");

printDetails(idNumbers,donations,donorCount); //printing details

sortByDonorId(idNumbers,donations,donorCount);

System.out.println("--------------------Sort by donor id--------------------");

printDetails(idNumbers,donations,donorCount);

sortByDonation(idNumbers,donations,donorCount);

System.out.println("--------------------Sort by donation amount--------------------");

printDetails(idNumbers,donations,donorCount);

}

private static void sortByDonation(int[] idNumbers, int[] donations, int donorCount) {

for(int i=0;i<=donorCount;i++){

for(int j=i+1;j<=donorCount;j++){

if(donations[i]>donations[j]){ //comparison based on donations

int temp = idNumbers[i];

idNumbers[i] = idNumbers[j];

idNumbers[j] = temp;

temp = donations[i];

donations[i] = donations[j];

donations[j] = temp;

}

}

}

}

private static void sortByDonorId(int[] idNumbers, int[] donations, int donorCount) {

for(int i=0;i<=donorCount;i++){

for(int j=i+1;j<=donorCount;j++){

if(idNumbers[i]>idNumbers[j]){ //comparison based on donor number

int temp = idNumbers[i];

idNumbers[i] = idNumbers[j];

idNumbers[j] = temp;

temp = donations[i];

donations[i] = donations[j];

donations[j] = temp;

}

}

}

}

public static void printDetails(int[] idNumbers, int[] donations, int donorCount){

System.out.printf("%-5s%s"," ","Donor information"); //using printf for format output

System.out.printf("\n%-20s%-20s","ID number","donations");

for(int i=0;i<=donorCount;i++){

System.out.printf("\n%-20s%-20s",idNumbers[i],donations[i]);

}

System.out.println();

}

public static int readFile(int idNumbers[],int donations[]){

File file = new File("input.txt"); //reading data from this file

Scanner reader;

int donorIndex=-1; //keep track of number of records

try {

reader = new Scanner(file);

while(reader.hasNext()){

donorIndex++;

String line = reader.nextLine();

idNumbers[donorIndex] = Integer.parseInt(line.split(" ")[0]); //spliting line by space,0 is idnumber

donations[donorIndex] = Integer.parseInt(line.split(" ")[1]); //spliting line by space,1 is donations

}

reader.close();

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return donorIndex;

}

}

You might be interested in
Translate the following MIPS code to C. Assume that the variables f, g, h, i, and j are assigned to registers $s0, $s1, $s2, $s3
Romashka [77]

Answer:

f = 2 * (&A[0])

See explaination for the details.

Explanation:

The registers $s0, $s1, $s2, $s3, and $s4 have values of the variables f, g, h, i, and j respectively. The register $s6 stores the base address of the array A and the register $s7 stores the base address of the array B. The given MIPS code can be converted into the C code as follows:

The first instruction addi $t0, $s6, 4 adding 4 to the base address of the array A and stores it into the register $t0.

Explanation:

If 4 is added to the base address of the array A, then it becomes the address of the second element of the array A i.e., &A[1] and address of A[1] is stored into the register $t0.

C statement:

$t0 = $s6 + 4

$t0 = &A[1]

The second instruction add $t1, $s6, $0 adding the value of the register $0 i.e., 32 0’s to the base address of the array A and stores the result into the register $t1.

Explanation:

Adding 32 0’s into the base address of the array A does not change the base address. The base address of the array i.e., &A[0] is stored into the register $t1.

C statement:

$t1 = $s6 + $0

$t1 = $s6

$t1 = &A[0]

The third instruction sw $t1, 0($t0) stores the value of the register $t1 into the memory address (0 + $t0).

Explanation:

The register $t0 has the address of the second element of the array A (A[1]) and adding 0 to this address will make it to point to the second element of the array i.e., A[1].

C statement:

($t0 + 0) = A[1]

A[1] = $t1

A[1] = &A[0]

The fourth instruction lw $t0, 0($t0) load the value at the address ($t0 + 0) into the register $t0.

Explanation:

The memory address ($t0 + 0) has the value stored at the address of the second element of the array i.e., A[1] and it is loaded into the register $t0.

C statement:

$t0 = ($t0 + 0)

$t0 = A[1]

$t0 = &A[0]

The fifth instruction add $s0, $t1, $t0 adds the value of the registers $t1 and $t0 and stores the result into the register $s0.

Explanation:

The register $s0 has the value of the variable f. The addition of the values stored in the regsters $t0 and $t1 will be assigned to the variable f.

C statement:

$s0 = $t1 + $t0

$s0 = &A[0] + &A[0]

f = 2 * (&A[0])

The final C code corresponding to the MIPS code will be f = 2 * (&A[0]) or f = 2 * A where A is the base address of the array.

3 0
3 years ago
You have a computer that runs on a windows 10 operating system and supports modern sleep. what will happen if you close the lid
adell [148]

You have a computer that runs on the Windows 10 operating system and supports modern sleep mode what will happen if you close the computer lid is the computer will be put into sleep mode. If Modern Sleep is supported, the settings for closing the lid will be configured to trigger sleep mode.

A computer system is a basic, complete and functional arrangement of hardware and software with everything needed to implement computing performance. That is the basic working definition of a computer system as we know it, but computer systems have gone through many formal changes over the last few decades.

The physical components of a computer can also be interpreted as hardware. This includes the keyboard, mouse, monitor and processor. Hardware consists of input devices and output devices that make up a complete computer system. Examples of input devices are keyboards, optical scanners, mice and joysticks that are used to enter data into a computer.

You can learn more about computer system here brainly.com/question/14583494

#SPJ4

7 0
1 year ago
What are the possible consequences of plagiarism?
Semenov [28]

Answer:

Students who plagiarize or otherwise engage in academic dishonesty face serious consequences. Sanctions may include, but are not limited to, failure on an assignment, grade reduction or course failure, suspension, and possibly dismissal.

3 0
3 years ago
you might propose a(n) program for your country if you wanted to hire a large number of manual laborers from neighboring countri
miskamm [114]

You might propose  guest worker program for your country if you wanted to hire a large number of manual laborers from neighboring countries to build a large dam or canal, with the understanding that they would not be granted any other privileges or legal status in your country, after the project is finished.

<h3>What is guest worker program?</h3>
  • In the absence of a ready supply of replacement workers, guest worker programs enable foreign workers to live and work temporarily in a host nation.
  • For temporary employment lasting less than a year, the United States now offers two guest worker programs: the H-2A program for temporary agricultural work and the H-2B program for temporary non-agricultural work.
  • Guest workers will be eligible for all federal programs, including Social Security and Medicare, if they are granted green cards. Additionally, low-skilled, low-income guest workers bring along their spouses and kids, who are enrolled in local schools and qualify for a variety of state benefits.

To learn more about  program refer to:

brainly.com/question/20534047

#SPJ4

4 0
1 year ago
Description
lapo4ka [179]

Answer:

from datetime import time, datetime, timedelta, date

for _ in iter(list, 0):

   t1 = input("Please enter time one: ")

   t2 = input("Please enter time two: ")

   if t1.isdigit() == True and (int(t1[:2])<=23 and int(t1[2:]) <= 59)\

       and t2.isdigit() == True and (int(t2[:2])<= 23 and int(t2[2:])<=59):

       time_1 = time(hour=int(t1[:2]), minute=int(t1[2:]))

       time_2 = time(hour= int(t2[:2]), minute=int(t2[2:]))

       if time_1 > time_2:

           diff = datetime. combine (date. today( ), time_1) - datetime. combine(date. today ( ), time_2)

       else:

           diff = datetime. combine (date. today( ), time_2) -datetime. combine(date. today ( ), time_1)

       diff_list = str(diff).split(":")

       del diff_list[2]

       diff_t = "". join (diff_list)

       print(diff_t)

       break        

   if t1.isdigit() == False or t2.isdigit() == False:

       print("Military Time Forest Required: Bad input, try again.")

       continue

   elif int(t1[:2])> 23 or int(t2[:2])> 23:

       print("Military Tine Format Required: Hours must be between 00 and 23, try again")

       continue

   elif int(t1[2:])> 59 or int(t2[2:])> 59:

       print("Military Tine Format Required: Minutes must be between me and 59, try again")

       continue

Explanation:

The python Datetime package is used to manipulate date and time, creating immutable Datetime objects from the various python data types like integer and string. The block of code above is a conditional for-loop statement that gets two user time value inputs and prints out the difference as a string in Military forest time format.

5 0
3 years ago
Other questions:
  • The part of the computer that provides access to the internet is the?
    14·1 answer
  • which software is used to mimic intricate hand drawings into digital paintings? _____ is used to replicate hand drawings into di
    7·1 answer
  • Among the rights you have as a user of computing resources is the right to​ _______.
    12·2 answers
  • A Silicon Valley billionaire purchases 3 new cars for his collection at the end of every month. Let a_n denote the number of car
    8·1 answer
  • A binary message consisting of four bits was sent to you by a friend. The message was supposed to be ABAB. Unfortunately, your f
    8·1 answer
  • Be able to list a technology-based company and discuss whether it enjoys sustainable competitive advantage based on the resource
    13·1 answer
  • Harvey is not happy with the software that allows the programmer to write and run code and wants to find something new. If Harve
    8·1 answer
  • How to deactivate the brainly account?​
    13·1 answer
  • Define artificial intelligence?​
    15·2 answers
  • The iso 14001:2004 standards require documentation of a firm's environmental program. Which component requires a plan to improve
    15·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!