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
djyliett [7]
3 years ago
11

Write a program that prompts the user for the name of two files each containing a single line that represents a decimal integerc

all them m and n, keep in mind that theseintegerscould be very largein absolute value, so they might not be stored neither as along nor intvariables. You should:a)Handle erroneous input graciously.b)Include a class named BigIntegerwhere you define an integer as a linked list, along with integer operations such as addition and subtraction [multiplication and division will grant you extra points] c)Test your program for each operation and store the result of each operation as a single decimal number in a separate file containing only one line\
Computers and Technology
1 answer:
storchak [24]3 years ago
4 0

Answer:

The output is seen bellow

Explanation:

public class BigInteger {

  public class Node{

      private char data;

      private Node next;

      public Node(char d){

          this.setData(d);

          this.setNext(null);

      }

      public char getData() {

          return data;

      }

      public void setData(char data) {

          this.data = data;

      }

      public Node getNext() {

          return next;

      }

      public void setNext(Node next) {

          this.next = next;

      }      

  }

 

  private Node root;

 

  public BigInteger(String s){

      this.root=null;

     

      for(int i=s.length()-1;i>=0;i--){

          Node node=new Node(s.charAt(i));

          node.setNext(root);

          root=node;

      }

  }

 

  public String toString(){

      String str="";

      Node cur=this.root;

      int i=0;

     

      while(cur!=null){

          if(i==0 && cur.getData()=='0'){

             

          }

          else{

              i=1;

              str+=cur.getData();

          }

         

          cur=cur.getNext();

      }

     

      return str;

  }

 

  public String reverse(String s){

      String ret="";      

      for(int i=s.length()-1;i>=0;i--){

          ret+=s.charAt(i);

      }      

      return ret;

  }

 

  public BigInteger add(BigInteger s){

      String f=this.reverse(this.toString());

      String l=this.reverse(s.toString());

      int max=(f.length()>l.length())?f.length():l.length();

     

      String ret="";

     

      int carry=0;

     

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

          int sum=carry;

          if(i<f.length()){

              sum+=(f.charAt(i)-'0');

          }

          if(i<l.length()){

              sum+=(l.charAt(i)-'0');

          }

          ret+=(char)(sum%10+'0');

          carry=(sum/10);

      }

      if(carry!=0){

          ret+='1';

      }

     

      BigInteger bi=new BigInteger(this.reverse(ret));

      return bi;

  }

  public boolean bigNum(String s1,String s2){

             

      if(s1.length()>s2.length()){

          return true;

      }

      else{

          if(s1.length()<s2.length()){

              return false;

          }

          else{

              for(int i=0;i<s1.length();i++){

                  if(s1.charAt(i)!=s2.charAt(i)){

                      if(s1.charAt(i)>s2.charAt(i)){

                          return true;

                      }

                      else{

                          return false;

                      }

                  }

              }                  

          }

      }

      return false;

  }

 

  public BigInteger subtraction(BigInteger s){

      String f=this.toString();

      String l=s.toString();

     

      boolean b=this.bigNum(f, l);

   

      if(b==false){

          String tmp=f;

          f=l;

          l=tmp;

      }

     

      f=this.reverse(f);

      l=this.reverse(l);

     

      int max=(f.length()>l.length())?f.length():l.length();

     

      String ret="";

     

      int borrow=0;

     

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

          int sum=borrow;

          if(i<f.length()){

              sum+=(f.charAt(i)-'0');

          }

          if(i<l.length()){

              sum-=(l.charAt(i)-'0');

          }

          if(sum<0){borrow=-1;sum=10+sum;}

          else{borrow=0;}

         

          ret+=(char)(sum%10+'0');

      }

     

      if(b==false){

          ret+="-";

      }

     

      BigInteger bi=new BigInteger(this.reverse(ret));

      return bi;

  }

 

  public BigInteger multiplication(BigInteger s){

      String f=this.toString();

      String l=s.toString();

 

      int len=l.length();

     

      BigInteger bi=new BigInteger("");

      for(int i=len-1;i>=0;i--){

          //System.out.println(l.charAt(i));

          BigInteger r=new BigInteger(f);

          for(int j=(l.charAt(i)-'0');j>1;j--){

              r=r.add(new BigInteger(f));

              //System.out.print(r+" " );

          }

          //System.out.println();

          bi=bi.add(r);

          f=f+"0";

      }

      return bi;

  }

 

  public BigInteger division(BigInteger s){

      BigInteger t=this;

      BigInteger bi=new BigInteger("");

      int i=0;

      t=t.subtraction(s);

      String str=t.toString();

     

      while(str.charAt(0)!='-' && i<40){

          //System.out.println(str+" "+(i+1));

          bi=bi.add(new BigInteger("1"));

          t=t.subtraction(s);

          str=t.toString();  

         

          i++;

      }

      return bi;    

  }  

}  

-------------------

import java.io.BufferedReader;

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import java.io.PrintWriter;

import java.util.Scanner;

public class Driver {

  public static void main(String [] args){

      Scanner sc=new Scanner(System.in);

     

      String str1="";

      String str2="";

     

      System.out.print("Enter file name 1 :");

      String file1=sc.next();

      //String file1="datafile1.txt";

      BufferedReader reader1;

      try {

          reader1 = new BufferedReader(new FileReader(file1));

          while((str1=reader1.readLine())!=null){

              break;

          }

          reader1.close();

      } catch (FileNotFoundException e) {

          // TODO Auto-generated catch block

          e.printStackTrace();

      } catch (IOException e) {

          // TODO Auto-generated catch block

          e.printStackTrace();

      }

 

      System.out.print("Enter file name 2 :");

      String file2=sc.next();

      //String file2="datafile2.txt";

      BufferedReader reader2;

      try {

          reader2 = new BufferedReader(new FileReader(file2));

          while((str2=reader2.readLine())!=null){

              break;

          }

          reader2.close();

      } catch (FileNotFoundException e) {

          // TODO Auto-generated catch block

          e.printStackTrace();

      } catch (IOException e) {

          // TODO Auto-generated catch block

          e.printStackTrace();

      }

You might be interested in
What is the result of the following code?<br><br> x=7//2+10%2**4<br><br> print(x)
spin [16.1K]

Answer:

3

Explanation:

We can split the expression into two sections

First Section:

7 // 2 = 3. Using the floor division we only utilize the integer part.

Second Section:

10 % 2**4 = 0**4 = 0

Bringing back the full version expression we have

3 + 0 = 3

7 0
2 years ago
One purpose of the dual ignition system on an aircraft engine is to provide for?
Gnom [1K]
It is done to provide for better engine performance. It is important for two main reasons. One is that if one ignition system fails the other can for a time take care of it and hold its ground until you land or fix it. Another is that it is used for more efficient consumption of fuel and air which makes the engine work better.
7 0
3 years ago
Read 2 more answers
Write a method called all Less that accepts two arrays of integers and returns true if each element in the first array is less t
GaryK [48]

Answer:

The program to this question can be given as:

Program:

#include<iostream> //header file

using namespace std; //using name space

bool allLess (int arr1[], int arr2[]) //defining method allLess  

{

int a,b; //define variable

a=  *(&arr1 + 1) - arr1; //hold length of arr1

b=  *(&arr2 + 1) - arr2; //hold length of arr2

if(a!=b) //checking condition  

{

return 1; //return value

}

for(int i=0; i<a; i++) //loop

{

if( arr1[i]>=arr2[i]) //checking condition

{

return 1; //return value

}

}

return 0; //return value

}

int main() //define main method.

{

   int arr1[]={1,2,3,4,5}; //define array arr1 and assign value.

   int arr2[]={4,5,6,7,8}; //define array arr2 and assign value.

   cout<< allLess(arr1,arr2); //function calling

   return 0;

}

Output:

1

Explanation:

The Explanation of the C++ language program can be given as follows:

  • In the above program firstly we include the header file. Then a method is defined that is "allLess" this method accepts two arrays that are "arr1 and arr2". This function returns a boolean value that is true or false.
  • Inside a function, we define a conditional statement and a loop in the if block we check the length of the arr1 array variable is not equal to arr2 array length. if this condition is true it will return false.
  • In the loop, we define another if block in this block we check that if arr1 array elements are grater then equal to arr2 array element if this condition is true it will return false. At the end of both if block and loop the function will return a value that is "true".
  • In the main method, we define two arrays and pass to the function and use (cout function) for print return value.
8 0
3 years ago
Which changes the natural world? <br> technology <br> science <br> prototypes <br> feedback
Gelneren [198K]
It would be technology,
5 0
3 years ago
______ lets people access their stored data from a device that can access the Internet.
Lelechka [254]

Answer:

Cloud computing and applications

Explanation:

6 0
2 years ago
Other questions:
  • . When you create a template class, ___________.
    15·1 answer
  • What was the impact of the rise of the Japanese auto industry and the semiconductor industry in south eastern​ Asia? A. It incre
    13·1 answer
  • What is used to monitor the activity of a network and notify network administrators when it identifies something as suspicious?
    15·1 answer
  • You can change the transparency of a picture used as a slide’s background with the ____.
    10·1 answer
  • With _______, applications are owned, delivered and managed remotely by one or more providers over the Internet or an intranet,
    15·1 answer
  • Provide examples of the cost of quality based on your own experiences
    14·1 answer
  • Copyright applies to work at the time it was produced, written, and developed. True or False?
    10·2 answers
  • If you want to insert a table which ribbon should you select
    13·2 answers
  • While developing a network application, a programmer adds functionally that allows her to access the running program without aut
    14·1 answer
  • The getElementById DOM Method do?
    13·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!