Lab
9 Solutions, ESC101, 2004-2005 Semester-II
1.
import java.io.*;
import java.util.*;
public class SumPerm
{
public int cnt;
static int sum[];
public void printPerm(int b)
{
int i;
if (b == 0)
{
for (i = 0; i
< cnt; i++)
System.out.print(sum[i] + " ");
System.out.print("\n");
return;
}
for (i = b; i > 0; i--)
{
if (cnt > 0
&& i > sum[cnt - 1])
continue;
sum[cnt++] = i;
printPerm(b -
i);
cnt--;
}
}
public static void main(String [] args)throws
IOException
{
InputStreamReader isr = new
InputStreamReader(System.in);
BufferedReader br = new
BufferedReader(isr);
System.out.println("Enter the
number : ");
String s = br.readLine();
int
max=Integer.parseInt(s);
sum=new int[max];
SumPerm sumPerm=new SumPerm();
sumPerm.printPerm(max);
}
}
2.
import java.io.*;
import java.util.*;
public class Determinant
{
public void input(int a[][])throws IOException
{
System.out.println("Enter your
entries");
InputStreamReader isr = new
InputStreamReader(System.in);
BufferedReader br = new
BufferedReader(isr);
for(int i=0;i<a.length;i++)
{
for(int
j=0;j<a[0].length;j++)
{
System.out.print("Enter the entries: "); // prompt
String s = br.readLine();
a[i][j]=Integer.parseInt(s);
}
}
}
int evalDet(int a[][],int row,int col)
{
int det=0;
if(row == 2 || col == 2)
{
det=a[0][0]*a[1][1]-a[0][1]*a[1][0];
return det;
}
int temp[][]=new
int[row-1][col-1];
int col1=0,sign=-1,det1=0;
for(int i=0;i<col;i++)
{
for(int
j=1,row1=0;j<row;j++,row1++)
{
col1=0;
for(int k=0;k<col;k++)
{
if(k==i)
continue;
temp[row1][col1++]=a[j][k];
}
}
sign=sign*(-1);
det1=evalDet(temp,row-1,col-1);
det+=((sign)*a[0][i]*det1);
//System.out.println( "Values are rwo,col,i,sign,a[0][i],det1,det"
+row+" "+col+" "+i+" "+sign+" "+a[0][i]+" "+det1+"
"+det);
}
return det;
}
public static void main(String args[])
throws IOException
{
int row,col,val=0;
InputStreamReader in=new
InputStreamReader(System.in);
BufferedReader br=new
BufferedReader(in);
System.out.println("Enter no of
Row");
String s=br.readLine();
row=Integer.parseInt(s);
System.out.println("Enter no of
Col");
s=br.readLine();
col=Integer.parseInt(s);
int a[][]=new int[row][col];
Determinant det=new Determinant();
det.input(a);
val=det.evalDet(a,row,col);
System.out.println("Determinant
is " + val);
}
}
3.
import java.io.*;
public class Palindrome
{
public static boolean checkPalindrome(String str)
{
int i=0,j=str.length()-1;
char ch1,ch2;
while(i<j)
{
do
{
ch1=str.charAt(i);
i++;
}while(!Character.isLetterOrDigit(ch1));
do
{
ch2=str.charAt(j);
j--;
}while(!Character.isLetterOrDigit(ch2));
if(Character.toLowerCase(ch1) !=
Character.toLowerCase(ch2))
return false;
}
return true;
}
public static void main(String args[]) throws
IOException
{
InputStreamReader in=new
InputStreamReader(System.in);
BufferedReader br=new
BufferedReader(in);
System.out.println("Enter the
String");
String s=br.readLine();
if(checkPalindrome(s))
System.out.println("String is Palindrome");
else
System.out.println("String is not Palindrome");
}
}