BOP Assignment
QUESTION1
a. Search for a name
Write a program to accept an array of names and a name and check whether the
name is present in the array. Return the count of occurrence. Use the following
array as input
{“Dave”, “Ann”, “George”, “Sam”, “Ted”, “Gag”, “Saj”, “Agati”, “Mary”, “Sam”,
“Ayan”, “Dev”, “Kity”, “Meery”, “Smith”, “Johnson”, “Bill”, “Williams”, “Jones”,
“Brown”, “Davis”, “Miller”, “Wilson”, “Moore”, “Taylor, “Anderson”, “Thomas”,
“Jackson”}
Ans.
import java.io.*;
import java.util.Scanner;
class program1
{
public static void main(String args[])
{
String[] names={“Dave”, “Ann”, “George”, “Sam”, “Ted”, “Gag”, “Saj”, “Agati”, “Mary”, “Sam”,
“Ayan”, “Dev”, “Kity”, “Meery”, “Smith”, “Johnson”, “Bill”, “Williams”, “Jones”,
“Brown”, “Davis”, “Miller”, “Wilson”, “Moore”, “Taylor, “Anderson”, “Thomas”,
“Jackson”};
Scanner sr= new Scanner(System.in);
System.out.println("Enter a name to check");
String name=sr.nextLine();
int count=0;
for(int i=0;i<names.length;i++)
{
if(names[i].equals(name))
count++;
}
if(count!=0)
System.out.println("The Number of occurance of the Name is " + count );
else
System.out.println("Word not Found");
}
}
OutPut:
C:\Program Files\Java\jdk1.6.0_22\bin>java Program1
Enter a name to check
Sam
The Number of occurance of the Name is 2
(b) Improve the understandability of the below given code:
import java.util.*;
class problem3
{
int[] numArray = new int[10];
public static void incrementElements (int[] integerArray)
{
int arraylen = integerArray.length;
for (int i = 0; i < arraylen; i ++)
{
System.out.println(integerArray[i]);
}
for (int i = 0; i < arraylen; i ++)
{
integerArray[i] = integerArray[i] + 10;
}
for (int i=0; i < arraylen; i ++)
{
System.out.println(integerArray[i]);
}
}
ANSWER:
import java.util.*; //importing the required packages
import java.io.*;
class Problem3 //creating a class
{
public static void Increment(int[] arr) //defining the 'increment()' method with one integer parameter
{
int len = arr.length; // initializing a integer variable 'len' with the length, i.e. the no of elements in array
System.out.println("\nBefore Increment, The Array was :");
for (int i = 0; i < len; i ++) //definition of 'for' loop to print the current values of array
{
System.out.print(arr[i]+"\t");
}
for (int i = 0; i < len; i ++) //definition of 'for' loop to increment the current values of array
{
arr[i] = arr[i] + 10; //add 10 to each value of array
}
System.out.println("\n\nAfter Increment, The Array is :");
for (int i=0; i < len; i ++) //definition of 'for' loop to print the updated values of array
{
System.out.print(arr[i]+"\t");
}
} //method definition ends
public static void main(String args[]) //definition of 'main' method starts..
{
int i,n;
Console con=System.console(); //creating an obect of console class
System.out.print("\nEnter The Length of Array : ");
n=Integer.parseInt(con.readLine()); //reading the value for no. of elements from console entered by user
int[] a = new int[n]; //initializing the array
System.out.println("\nEnter Array values :");
for(i=0;i<n;i++) //defining a 'for' loop to reading the values from console to be stored in array
{
a[i]=Integer.parseInt(con.readLine()); //reading user input from console
}
Increment(a); // calling the method 'increment()' with the 'array a' as its parameter
} // main method ends
} //class closes
QUESTION 2
Greatest common divisor
Calculate the greatest common divisor of two positive numbers a and b.
gcd(a,b) is recursively defined as
gcd(a,b) = a if a =b
gcd(a,b) = gcd(a-b, b) if a >b
gcd(a,b) = gcd(a, b-a) if b > a
Ans.
Program 2 finding GCD:
import java.io.*;
import java.util.Scanner;
class program2
{
public static void main(String args[])
{
Scanner sr= new Scanner(System.in);
System.out.println("Enter The number a");
int a=sr.nextInt();
System.out.println("Enter The number b");
int b=sr.nextInt();
int gcd;
if(a==b)
gcd=a;
else if(a>b)
gcd=findgcd(a-b,b);
else
gcd=findgcd(b,b-a);
System.out.println("The greatest common divisor of two positive numbers " + a + " and " + b + " is " + gcd);
}
public static int findgcd(int c,int d)
{
if (d == 0)
return c;
return findgcd(d, c % d);
}
Output
C:\Program Files\Java\jdk1.6.0_22\bin>javac Program2.java
C:\Program Files\Java\jdk1.6.0_22\bin>java program2
Enter The number a
36
Enter The number b
24
The greatest common divisor of two positive numbers 36 and 24 is 12
(b) Improve the understandability of the below given code:
class Problem1
{
int[] a;
int nElems;
public ArrayBub(int max)
{
a = new int[max];
}
public void insert(int value)
{
a[nElems] = value;
nElems++;
}
public void Sort()
{
int out, in;
for(out=nElems-1; out>1; out--)
for(in=0; in<out; in++)
if( a[in] > a[in+1] )
swap(in, in+1); }
public void swap(int one, int two)
{
long temp = a[one];
a[one] = a[two];
a[two] = temp;
}
ANSWER:
class Problem1 //creating a new class
{
static int[] a; //declaring a new integer variable 'a' of array type to store the numbers
static int nElems; //declaring an integer variable to hold the value of ''element no.'' in the array
public static void ArrayBub(int max) //defining a new parameterised method to initialize the array with 'max' as size of the array
{
a = new int[max];
}
public static void insert(int value) //defining the insert method to insert values in the array..
{
a[nElems] = value; //assigning the value to array at current position
nElems++; //incrementing the position counter
}
public static void Sort() //defining the method to sort the array
{
int out, in; // declaring two integer variables 'out' & 'in'
for(out=nElems-1; out>1; out--) //outer loop
{
for(in=0; in<out; in++) //inner loop
{
if( a[in] > a[in+1] ) //conditional statement to compare the adjecent values
swap(in, in+1); //swaping the two values in specified order
}
}
}
public static void swap(int one, int two) //defining 'swap' function to perform swapping of elements
{
int temp = a[one]; //interchanging the values
a[one] = a[two];
a[two] = temp;
}
public static void main(String args[]) //definition of main method
{
ArrayBub(3); //calling the method 'arraybub() with 3 as parameter'
insert(3); //calling the method 'insert() with 3 as parameter'
insert(6); //calling the method 'insert() with 6 as parameter'
insert(1); //calling the method 'insert() with 1 as parameter'
Sort(); // calling the 'sort()' method
System.out.println(a[2]); //printing the current value of array at 3rd position
swap(2,1); //calling the swap function
System.out.println(a[0]); //printing the current value of array at 1st position
} //main method ends here
} // class definition ends
QUESTION1
a. Search for a name
Write a program to accept an array of names and a name and check whether the
name is present in the array. Return the count of occurrence. Use the following
array as input
{“Dave”, “Ann”, “George”, “Sam”, “Ted”, “Gag”, “Saj”, “Agati”, “Mary”, “Sam”,
“Ayan”, “Dev”, “Kity”, “Meery”, “Smith”, “Johnson”, “Bill”, “Williams”, “Jones”,
“Brown”, “Davis”, “Miller”, “Wilson”, “Moore”, “Taylor, “Anderson”, “Thomas”,
“Jackson”}
Ans.
import java.io.*;
import java.util.Scanner;
class program1
{
public static void main(String args[])
{
String[] names={“Dave”, “Ann”, “George”, “Sam”, “Ted”, “Gag”, “Saj”, “Agati”, “Mary”, “Sam”,
“Ayan”, “Dev”, “Kity”, “Meery”, “Smith”, “Johnson”, “Bill”, “Williams”, “Jones”,
“Brown”, “Davis”, “Miller”, “Wilson”, “Moore”, “Taylor, “Anderson”, “Thomas”,
“Jackson”};
Scanner sr= new Scanner(System.in);
System.out.println("Enter a name to check");
String name=sr.nextLine();
int count=0;
for(int i=0;i<names.length;i++)
{
if(names[i].equals(name))
count++;
}
if(count!=0)
System.out.println("The Number of occurance of the Name is " + count );
else
System.out.println("Word not Found");
}
}
OutPut:
C:\Program Files\Java\jdk1.6.0_22\bin>java Program1
Enter a name to check
Sam
The Number of occurance of the Name is 2
(b) Improve the understandability of the below given code:
import java.util.*;
class problem3
{
int[] numArray = new int[10];
public static void incrementElements (int[] integerArray)
{
int arraylen = integerArray.length;
for (int i = 0; i < arraylen; i ++)
{
System.out.println(integerArray[i]);
}
for (int i = 0; i < arraylen; i ++)
{
integerArray[i] = integerArray[i] + 10;
}
for (int i=0; i < arraylen; i ++)
{
System.out.println(integerArray[i]);
}
}
ANSWER:
import java.util.*; //importing the required packages
import java.io.*;
class Problem3 //creating a class
{
public static void Increment(int[] arr) //defining the 'increment()' method with one integer parameter
{
int len = arr.length; // initializing a integer variable 'len' with the length, i.e. the no of elements in array
System.out.println("\nBefore Increment, The Array was :");
for (int i = 0; i < len; i ++) //definition of 'for' loop to print the current values of array
{
System.out.print(arr[i]+"\t");
}
for (int i = 0; i < len; i ++) //definition of 'for' loop to increment the current values of array
{
arr[i] = arr[i] + 10; //add 10 to each value of array
}
System.out.println("\n\nAfter Increment, The Array is :");
for (int i=0; i < len; i ++) //definition of 'for' loop to print the updated values of array
{
System.out.print(arr[i]+"\t");
}
} //method definition ends
public static void main(String args[]) //definition of 'main' method starts..
{
int i,n;
Console con=System.console(); //creating an obect of console class
System.out.print("\nEnter The Length of Array : ");
n=Integer.parseInt(con.readLine()); //reading the value for no. of elements from console entered by user
int[] a = new int[n]; //initializing the array
System.out.println("\nEnter Array values :");
for(i=0;i<n;i++) //defining a 'for' loop to reading the values from console to be stored in array
{
a[i]=Integer.parseInt(con.readLine()); //reading user input from console
}
Increment(a); // calling the method 'increment()' with the 'array a' as its parameter
} // main method ends
} //class closes
QUESTION 2
Greatest common divisor
Calculate the greatest common divisor of two positive numbers a and b.
gcd(a,b) is recursively defined as
gcd(a,b) = a if a =b
gcd(a,b) = gcd(a-b, b) if a >b
gcd(a,b) = gcd(a, b-a) if b > a
Ans.
Program 2 finding GCD:
import java.io.*;
import java.util.Scanner;
class program2
{
public static void main(String args[])
{
Scanner sr= new Scanner(System.in);
System.out.println("Enter The number a");
int a=sr.nextInt();
System.out.println("Enter The number b");
int b=sr.nextInt();
int gcd;
if(a==b)
gcd=a;
else if(a>b)
gcd=findgcd(a-b,b);
else
gcd=findgcd(b,b-a);
System.out.println("The greatest common divisor of two positive numbers " + a + " and " + b + " is " + gcd);
}
public static int findgcd(int c,int d)
{
if (d == 0)
return c;
return findgcd(d, c % d);
}
Output
C:\Program Files\Java\jdk1.6.0_22\bin>javac Program2.java
C:\Program Files\Java\jdk1.6.0_22\bin>java program2
Enter The number a
36
Enter The number b
24
The greatest common divisor of two positive numbers 36 and 24 is 12
(b) Improve the understandability of the below given code:
class Problem1
{
int[] a;
int nElems;
public ArrayBub(int max)
{
a = new int[max];
}
public void insert(int value)
{
a[nElems] = value;
nElems++;
}
public void Sort()
{
int out, in;
for(out=nElems-1; out>1; out--)
for(in=0; in<out; in++)
if( a[in] > a[in+1] )
swap(in, in+1); }
public void swap(int one, int two)
{
long temp = a[one];
a[one] = a[two];
a[two] = temp;
}
ANSWER:
class Problem1 //creating a new class
{
static int[] a; //declaring a new integer variable 'a' of array type to store the numbers
static int nElems; //declaring an integer variable to hold the value of ''element no.'' in the array
public static void ArrayBub(int max) //defining a new parameterised method to initialize the array with 'max' as size of the array
{
a = new int[max];
}
public static void insert(int value) //defining the insert method to insert values in the array..
{
a[nElems] = value; //assigning the value to array at current position
nElems++; //incrementing the position counter
}
public static void Sort() //defining the method to sort the array
{
int out, in; // declaring two integer variables 'out' & 'in'
for(out=nElems-1; out>1; out--) //outer loop
{
for(in=0; in<out; in++) //inner loop
{
if( a[in] > a[in+1] ) //conditional statement to compare the adjecent values
swap(in, in+1); //swaping the two values in specified order
}
}
}
public static void swap(int one, int two) //defining 'swap' function to perform swapping of elements
{
int temp = a[one]; //interchanging the values
a[one] = a[two];
a[two] = temp;
}
public static void main(String args[]) //definition of main method
{
ArrayBub(3); //calling the method 'arraybub() with 3 as parameter'
insert(3); //calling the method 'insert() with 3 as parameter'
insert(6); //calling the method 'insert() with 6 as parameter'
insert(1); //calling the method 'insert() with 1 as parameter'
Sort(); // calling the 'sort()' method
System.out.println(a[2]); //printing the current value of array at 3rd position
swap(2,1); //calling the swap function
System.out.println(a[0]); //printing the current value of array at 1st position
} //main method ends here
} // class definition ends
No comments:
Post a Comment