/* DELETING FROM A LINEAR ARRAY AT SPECIFIED POSITION */
/* ARRAY_D.C */
# include
# define s 20
char employ[s][s];
int delete_array(char employ[s][s], int, int, char *);
void input(char emply[s][s], int );
void display(char employ[s][s], int );
/* Definition of the function */
int delete_array(char employ[s][s], int number, int position, char element[])
{
int temp = position;
element = employ[position];
printf("\n Information which we have to delete: %s", element);
while( temp <= number-1)
{
*employ [temp] = *employ[temp+1];
temp ++;
}
number = number - 1 ;
return(number);
getch();
}
void input(char employ[s][s], int number)
{
int i;
for(i = 1; i<= number ; i++)
{
fflush(stdin);
printf("\n Input value for: %d: ", i);
gets(employ[i]);
}
}
void display(char employ[s][s], int number)
{
int i;
for(i = 1; i<= number; i++)
{
printf("\n Value at the position: %d: %s", i, employ[i]);
}
}
/* main function */
void main()
{
int number;
int position;
char element[s];
printf("\n Input the number of elements in the array:");
scanf("%d", &number);
fflush(stdin);
input(employ, number);
printf("\n Entered list is as follows:\n");
display(employ, number);
fflush(stdin);
printf("\n Input the position from where you want delete an element:");
scanf("%d", &position);
number = delete_array(employ, number, position, element);
display(employ,number);
getch();
}
/* INSERTING AN ELEMENT INTO LINEAR ARRAY AT SPECIFIED POSITION */
/* ARRAY_I.C */
# include
int insert_array(char *, int, int, char);
void input(char *, int );
void display(char *, int );
/* Definition of the function */
int insert_array(char array[], int number, int position, char element)
{
int temp = number;
while( temp >= position)
{
array[temp+1] = array[temp];
temp --;
}
array[position] = element;
number = number +1 ;
return(number);
}
/* INPUT FUNCTION TO READ DATA */
void input(char array[], int number)
{
int i;
for(i = 1; i<= number ; i++)
{
fflush(stdin);
printf("\n Input value for: %d: ", i);
scanf("%c", &array[i]);
}
}
/* OUTPUT FUNCTION TO PRINT ON THE CONSOLE */
void display(char array[], int number)
{
int i;
for(i = 1; i<= number; i++)
{
printf("\n Value at the position: %d: %c ", i, array[i]);
}
}
/* main function */
void main()
{
int number;
char array[100];
int position;
char element;
fflush(stdin);
printf("\n Input the number of element into the LIST: ");
scanf("%d", &number);
fflush(stdin);
input(array, number);
printf("\n Entered list as follows:\n");
fflush(stdin);
display(array,number);
fflush(stdin);
printf("\n Input the position where you want add a new data:");
scanf("%d", &position);
fflush(stdin);
printf("\n Input the value for the position:");
scanf("%c", &element);
number = insert_array(array,number,position,element);
display(array,number);
getch();
}
/* Traversing a linear array */
/* ARRAY_L.C */
#include
void memory(int *, int, int);
void memory1(char *, int, int);
/* Definition of the function memory */
void memory(int a[], int l_b, int u_b)
{
int counter;
for(counter = l_b; counter<=u_b; counter++)
{
printf("\n Element at location: 0x%x is %d", &a[counter], a[counter]);
}
printf("\n Array size = %d ", &a[counter-1] - &a[0] + 1);
}
void memory1(char b[], int l_b, int u_b)
{
char *pointer;
int counter;
pointer =&b[0];
for(counter = l_b; counter<=u_b; counter++)
{
printf("\n Element at location: 0x%x is %d", &b[counter], b[counter]);
}
printf("\n Array size = %d", &b[counter-1] - &b[0] + 1);
}
/*Function main */
void main()
{
int a[12] = {
99,88,77,66,55,44,33,22,11,100,200,300 };
char b[] = {
'A','B','C','D','E','F','G','H','I','J','K',
'L','M','N','O','P','Q','R','S','T','U','V',
'W','X','Y','Z' };
int lb=0, ub=11;
memory(a,lb,ub);
lb = 0;
ub = 25;
memory1(b,lb,ub);
getch();
}
/* Traversing a linear array */
/* ARRAY_T.C */
# include
void traversing_array(int *, int, int);
void input(int *, int, int);
/* Definition of the function*/
void traversing_array(int linear_array[], int l_b, int u_b)
{
int counter;
for(counter = l_b; counter<=u_b; counter++)
{
printf("\n Element at position: %d is %d ", counter, linear_array[counter]);
}
}
/* Defintion of the function*/
void input(int array[], int l_b, int u_b)
{
int counter;
for(counter = l_b; counter<= u_b; counter++)
{
printf("\n Input value for the: %d: ", counter);
scanf("%d", &array[counter]);
}
}
/* Definition of the function */
void main()
{
int a[100];
int lb, ub;
printf("\n Lower limit of the array:");
scanf("%d", &lb);
printf("\n Upper limit of the array:");
scanf("%d", &ub);
input(a, lb, ub);
traversing_array(a,lb,ub);
getch();
}
/* DELETING DUPLICATES FROM A LINEAR ARRAY*/
/* DUPL_A.C */
# include
int status ;
int dup;
int duplicate_array(int *, int);
void input(int *, int );
void display(int *, int );
/* Definition of the function */
int duplicate_array(int array[], int number)
{
int i, j, k;
status = 0;
dup = number;
for(i = 0; i<>
for(j = i+1; j<>
{
if(array[i] == array[j])
{
number = number - 1 ;
for(k = j; k
array[k] = array[k+1];
status = 1;
j = j - 1;
}
}
if( status ==0)
printf("\n No duplicate is found");
return(dup-number);
}
/* Input function to read data */
void input(int array[], int number)
{
int i;
for(i = 0; i<>
{
printf("Input value for: %d: ", i+1);
scanf("%d", &array[i]);
}
}
/* Output function */
void display(int array[], int number)
{
int i;
for(i = 0; i<>
{
printf("\n Value at the position: %d: %d", i+1, array[i]);
}
}
/* main function */
void main()
{
int number;
int array[100];
int n;
printf("\n Input the number of elements in the list: ");
scanf("%d", &number);
input(array, number);
printf("\n Entered list is as follows:\n");
display(array,number);
n = duplicate_array(array,number);
printf("\nNumber of duplicate elements in the list are: %d", n);
printf("\nAfter removing duplicates from the list, the list is as follows:");
display(array,number-n);
getch();
}
/* Find Inverse of a Matrix */
/* INVERSE.C */
# include
int i, j;
void display( int, int, float mat[10][10],float mat1[10][10]);
void input( int, int, float mat[10][10],float mat1[10][10]);
Inverse_Mat(int , int, float mat[10][10],float mat1[10][10]);
void swap(int, int, int, float mat[10][10],float mat1[10][10]);
/* This function exchange two rows of a matrix */
void swap( int row1,int row2, int col, float mat[10][10],float mat1[10][10])
{
for( i = 0; i <>
{
float temp = mat[row1][i];
mat[row1][i] = mat[row2][i];
mat[row2][i] = temp;
temp = mat1[row1][i];
mat1[row1][i] = mat1[row2][i];
mat1[row2][i] = temp;
}
}
/* This function find inverse of matrix */
int Inverse_Mat(int row1, int col1, float mat[10][10],float mat1[10][10])
{
int singular = 0;
int r, c;
for(r = 0;( r < style=""> r++)
{
if( mat[r][r] ) /* Diagonal element is not zero */
for(c = 0; c <>
if( c == r)
{
/* Make all the elements above and below the current principal
diagonal element zero */
float ratio = mat[r][r];
for( i = 0; i <>
{
mat[r][i] /= ratio ;
mat1[r][i] /= ratio;
}
}
else
{
float ratio = mat[c][r] / mat[r][r];
for( i = 0; i < style=""> i++)
{
mat[c][i] -= ratio * mat[r][i];
mat1[c][i] -= ratio * mat1[r][i];
}
}
else
{
/* If principal diagonal element is zero */
singular = 1;
for(c = (r+1); (c <>
if(mat[c][r])
{
singular = 0;
/* Find non zero elements in the same column */
swap(r,c,col1, mat, mat1);
--r;
}
}
}
return(!singular);
}
/* To print output this is used */
void display( int row, int col, float mat[10][10],float mat1[10][10])
{
printf("\n");
/* Output of inverse Matrix */
for( i = 0; i <>
{
for( j = 0; j <>
{
printf(" %f", mat1[i][j]);
}
printf("\n");
}
}
/* input function */
void input( int row, int col, float mat[10][10],float mat1[10][10])
{
for( i = 0 ; i<>
{
for( j = 0 ; j
{
printf("Input Value for: %d: %d: ", i+1, j+1);
scanf("%f", &mat[i][j]);
mat1[i][j] = 0;
}
mat1[i][i] = 1;
}
printf("\n Entered Matrix is as follows:\n");
for( i = 0; i <>
{
for( j = 0; j <>
{
printf(" %f", mat[i][j]);
}
printf("\n");
}
}
/* main function */
void main()
{
int R, C;
float mat[10][10];
float mat1[10][10];
printf("\n Input number of rows:");
scanf("%d", &R);
printf(" Input number of cols:");
scanf("%d", &C);
input(R,C, mat, mat1);
Inverse_Mat(R,C, mat, mat1);
printf("\n Inverse of above matrix is as follows:\n ");
display(R,C, mat, mat1);
}
/* Multiply Two Matrices */
/* MULT_MAT.C */
# include
# include
# define row 10
# define col 10
int i, j;
int row1, col1;
int row2, col2;
float mat1[row][col];
float mat2[row][col];
float mat_res[row][col];
void mat_mult( float mat1[row][col], int, int,
float mat2[row][col], int, int,
float mat_res[row][col]);
void display(float mat[row][col], int, int);
void input(float mat[row][col], int , int);
/* function to multiply two matrices */
void mat_mult( float mat1[row][col], int row1, int col1,
float mat2[row][col], int row2, int col2,
float mat_res[row][col])
{
int i, j, k;
if(col1 == row2)
{
printf("\n Multiplication is possible and Result is as follows\n");
for(i =0; i
for(j=0; j
{
mat_res[i][j] = 0;
for(k = 0; k <>
{
mat_res[i][j] += mat1[i][k] * mat2[k][j];
}
}
display(mat_res, row1, col2);
}
else
printf("\n Multiplication is not possible");
exit(0);
}
/* Output function */
void display(float mat[row][col], int r, int c )
{
for( i = 0; i <>
{
for( j = 0; j <>
{
printf(" %f", mat[i][j]);
}
printf("\n");
}
}
/* Input function */
void input(float mat[row][col], int r, int c)
{
for( i = 0 ; i<>
{
for( j = 0 ; j
{
printf("Input Value for : %d: %d: ", i+1, j+1);
scanf("%f", &mat[i][j]);
}
}
}
/* main function */
void main()
{
int row1, col1;
int row2, col2;
float mat1[row][col];
float mat2[row][col];
float mat_res[row][col];
printf("\n Input the row of the matrix->1:");
scanf("%d", &row1);
printf("\n Input the col of the matrix->1:");
scanf("%d", &col1);
printf("\n Input data for matrix-> 1\n");
input(mat1, row1, col1);
printf("\n Input the row of the matrix ->2:");
scanf("%d", &row2);
printf("\n Input the col of the matrix->2:");
scanf("%d", &col2);
printf("\n Input data for matrix-> 2\n");
input(mat2, row2, col2);
printf("\n Entered Matrix First is as follows:\n");
display(mat1,row1,col1);
printf("\n Entered Matrix Two is as follows:\n");
display(mat2,row2,col2);
mat_mult(mat1 ,row1 ,col1, mat2, row2, col2, mat_res);
}
/* Find Orthogonality of a matrix */
/* ORTH_MAT.C */
# include
# include
# define row 10
# define col 10
int i, j, k;
int row1, col1;
float mat1[row][col];
float mat2[row][col];
float mat_res[row][col];
void mat_mult( float mat1[row][col], int, int,
float mat_res[row][col]);
void transpose( float transp[row][col], int, int);
void display(float mat[row][col], int, int);
void input(float mat[row][col], int , int);
/* function mat_mult */
void mat_mult( float mat1[row][col], int row1, int col1,
float mat_res[row][col])
{
int flag ;
if(col1 == row1)
{
printf("\n Multiplication is possible and Result is as follows\n");
for(i = 0; i
for(j = 0; j
{
mat_res[i][j] = 0;
for(k = 0; k <>
{
mat_res[i][j] += mat1[i][k] * mat2[k][j];
}
}
display(mat_res,row1,col1);
}
else
{
printf("\n Multiplication is not possible");
exit(0);
}
for(i = 0 ; i<>
{
for(j = 0; j <>
{
if(((int)mat_res[i][i] == 1) && ((int ) mat_res[i][j] == 0))
flag = 1;
}
}
if( flag == 1)
{
printf("\n Matrix X * Transpose of X = Identity Matrix");
printf("\n The given Matrix is Orthogonal");
}
else
{
printf("\n Matrix X * Transpose of X != Identity Matrix");
printf("\n The given Matrix is not Orthogonal");
}
}
/* Output function */
void display(float mat[row][col], int r, int c )
{
printf("\n");
for( i = 0; i <>
{
for( j = 0; j <>
{
printf(" %f", mat[i][j]);
}
printf("\n");
}
}
/* Input function */
void input(float mat[row][col], int r, int c)
{
for( i = 0 ; i<>
{
for( j = 0 ; j
{
printf("Input Value for: %d: %d: ", i+1, j+1);
scanf("%f", &mat[i][j]);
}
}
}
/* Transpose of a matrix */
void transpose( float transp[10][10],int row1, int col1)
{
for( i = 0; i<>
{
for( j = 0; j <>
{
mat2[i][j] = transp[j][i] ;
}
}
display(mat2,row1,col1);
}
/* main function */
void main()
{
int row1, col1;
int row2, col2;
float mat1[row][col];
float mat2[row][col];
float mat_res[row][col];
printf("\n Input the row of the matrix:");
scanf("%d", &row1);
printf(" Input the col of the matrix:");
scanf("%d", &col1);
printf("\n Input data for matrix\n");
input(mat1, row1, col1);
printf("\n Entered Matrix First is as follows:\n");
display(mat1,row1,col1);
printf(" \n Transpose of above matrix is as follows:\n");
transpose(mat1, col1, row1);
mat_mult(mat1 ,row1 ,col1, mat_res);
}
/* Find Rank of a Matrix */
/* RANK.C */
# include
int R,C;
int i, j;
int mat[10][10];
void display( int, int);
void input( int, int);
int Rank_Mat(int , int);
void swap(int, int, int);
/* This function exchange two rows of a matrix */
void swap( int row1,int row2, int col)
{
for( i = 0; i <>
{
int temp = mat[row1][i];
mat[row1][i] = mat[row2][i];
mat[row2][i] = temp;
}
}
/* This function find rank of matrix */
int Rank_Mat(int row1, int col1)
{
int r, c;
for(r = 0; r<>
{
display(R,C);
if( mat[r][r] ) // Diagonal element is not zero
for(c = 0; c <>
if(c != r)
{
/* Make all the elements above and below the current principal
diagonal element zero */
float ratio = mat[c][r]/ mat[r][r];
for( i = 0; i <>
mat[c][i] -= ratio * mat[r][i];
}
else
printf("\n");
/* Principal Diagonal elment is zero */
else
{
for(c = r+1 ; c < style=""> c++)
if (mat[c][r])
{
/* Find non zero elements in the same column */
swap(r,c,col1);
break ;
}
if(c == row1)
{
-- col1;
for(c = 0; c <>
mat[c][r] = mat[c][col1];
}
--r;
}
}
return col1;
}
/* Output function */
void display( int row, int col)
{
for(i = 0; i <>
{
for(j = 0; j <>
{
printf(" %d", mat[i][j]);
}
printf("\n");
}
}
/* Input function */
void input( int row, int col)
{
int value;
for(i = 0 ; i<>
{
for(j = 0 ; j
{
printf("Input Value for: %d: %d: ", i+1, j+1);
scanf("%d", &value);
mat[i][j] = value;
}
}
}
/* main function */
void main()
{
int rank;
printf("\n Input number of rows:");
scanf("%d", &R);
printf("\n Input number of cols:");
scanf("%d", &C);
input(R, C);
printf("\n Row is : %d", R);
printf("\n Column is : %d \n", C);
printf("\n Entered Two Dimensional array is as follows:\n");
display(R,C);
printf("\n Row is : %d", R);
printf("\n Column is : %d\n", C);
rank = Rank_Mat(R, C);
printf("\n Rank of above matrix is : %d", rank);
}
/* SEARCHING FOR LARGEST AND SMALLEST ELEMENTS IN A LINEAR ARRAY */
/* S_L_S_A.C */
# include
int s;
int small, big, temp;
int search_array(int *, int);
void input(int *, int );
void display(int *, int );
/* Definition of the function */
int search_array(int array[], int number)
{
big = small = array[0];
temp = 0;
while(temp <>
{
if(array[temp] > big)
{
big = array[temp] ;
}
else if(array[temp] <>
{
small = array[temp];
}
temp ++;
}
s = small;
return(big);
}
/* Input function */
void input(int array[], int number)
{
int i;
for(i = 0; i<>
{
printf("Input value for : %d: ",i+1);
scanf("%d", &array[i]);
}
}
/* Output function */
void display(int array[], int number)
{
int i;
for(i = 0; i <>
{
printf("\n Value at the position: %d: %d", i+1, array[i]);
}
}
/* main function */
void main()
{
int number,big;
int array[100];
printf("\n Input the number of elements in the list:");
scanf("%d", &number);
input(array, number);
printf("\n Entered list is as follows:\n");
display(array,number);
big = search_array(array,number);
printf("\nLargest number in the array is : %d", big);
printf("\nSmallest number in the array is : %d", s);
}
/* TEST SINGULARITY OF A GIVEN MATRIX */
/* USING CRAMER'S RULES TO FIND DETERMINANT */
/* SINGULAR.C */
# include
int i, j;
float mat[10][10];
float mat1[10][10];
void display( int, int);
void input( int, int);
float Singular_Matrix(int, int);
/* Output function */
void display( int row, int col)
{
for(i = 0; i <>
{
for(j = 0; j <>
{
printf(" %f", mat[i][j]);
}
printf("\n");
}
}
/* Input function */
void input( int row, int col)
{
for(i = 0 ; i<>
{
for(j = 0 ; j
{
printf("Input Value for : %d: %d: ", i+1, j+1);
scanf("%f", &mat[i][j]);
}
}
}
/* Find Determinant using Cramer's rule */
float Singular_Matrix( int row1, int col1)
{
int i, j, k, l;
float sum=0, psum=0, partial=0, nsum=0;
if(row1 == col1)
{
printf("\n Number rows = Number of cols");
printf("\n Singular Test is possible\n");
if(row1 <>
{
sum = mat[0][0]*mat[1][1] - mat[0][1]*mat[1][0];
return(sum);
}
else
{
for(k = 0; k
for(j = 0; j <>
mat1[k][j] = mat[k][j];
for(k = 0; k
for(j = row1; j < (2*row1-1); j++)
mat1[k][j] = mat1[k][j-row1];
for(l = 0; l
{
partial = 1;
for(i = 0; i
{
partial *= mat1[i][i+l];
}
psum += partial;
}
for(l = row1-1; l < ( 2*row1 -1); l++)
{
partial = 1;
for(i =0; i <>
{
partial *=mat1[i][l-i];
}
nsum += partial;
}
sum = psum - nsum ;
return(sum);
}
}
else
printf("\n Check about singularity is not possible");
return 0;
}
/* main function */
void main()
{
float Determinant;
int r,c;
printf("\n Input the number of rows:");
scanf("%d", &r);
printf(" Input the number of cols:");
scanf("%d", &c);
input(r, c);
printf("\n Entered Two Dimensional array is as follows:\n");
display(r, c);
Determinant = Singular_Matrix(r, c);
printf("\n Determinant is : %d", Determinant);
if(Determinant == 0)
printf("\n The Above matrix is Singular");
else
printf("\n Above matrix is not singular");
}
/* SEARCHING FOR LARGEST AND SMALLEST ELEMENTS IN A LINEAR ARRAY */
/* S_L_S_A.C */
# include
int s;
int small, big, temp;
int search_array(int *, int);
void input(int *, int );
void display(int *, int );
/* Definition of the function */
int search_array(int array[], int number)
{
big = small = array[0];
temp = 0;
while(temp <>
{
if(array[temp] > big)
{
big = array[temp] ;
}
else if(array[temp] <>
{
small = array[temp];
}
temp ++;
}
s = small;
return(big);
}
/* Input function */
void input(int array[], int number)
{
int i;
for(i = 0; i<>
{
printf("Input value for : %d: ",i+1);
scanf("%d", &array[i]);
}
}
/* Output function */
void display(int array[], int number)
{
int i;
for(i = 0; i <>
{
printf("\n Value at the position: %d: %d", i+1, array[i]);
}
}
/* main function */
void main()
{
int number,big;
int array[100];
printf("\n Input the number of elements in the list:");
scanf("%d", &number);
input(array, number);
printf("\n Entered list is as follows:\n");
display(array,number);
big = search_array(array,number);
printf("\nLargest number in the array is : %d", big);
printf("\nSmallest number in the array is : %d", s);
}
/* Test for symmetry of a matrix */
/* SYMMET.C */
# include
# define r 10
# define c 10
int i, j;
float value;
float mat[r][c];
void display(int, int);
void display_o( float transp[r][c],int, int);
void input( float transp[r][c],int, int);
void transpose( float transp[r][c],int, int);
int Symmetry_Matrix(float transp[r][c], int , int );
/* Transpose function */
void transpose( float transp[r][c], int row, int col)
{
for(i = 0; i <>
{
for(j = 0; j <>
{
mat[i][j] = transp[j][i] ;
}
}
}
/* Output function */
void display(int row, int col)
{
for(i = 0; i <>
{
for(j = 0; j <>
{
printf(" %f", mat[i][j]);
}
printf("\n");
}
}
/* Output function */
void display_o(float transp[r][c], int row, int col)
{
for(i = 0; i <>
{
for(j = 0; j <>
{
printf(" %f", transp[i][j]);
}
printf("\n");
}
}
/* Input function */
void input( float transp[r][c], int row, int col)
{
for(i = 0 ; i<>
{
for(j = 0 ; j
{
printf("Input Value for : %d: %d: ", i+1,j+1);
scanf(" %f", &value);
transp[i][j] = value;
}
}
}
/* Test for Symmetry */
int Symmetry_Matrix(float transp[r][c], int row, int col)
{
int status = 0;
for(i = 0; i <>
{
for(j = 0; j
if(mat[i][j] != transp[i][j])
status = 1;
}
return(status);
}
/* main function */
void main()
{
int status;
int row, col;
float transp[10][10];
printf("\n Input number of rows:");
scanf("%d", &row);
printf("\n Input number of cols:");
scanf("%d", &col);
input(transp, row, col);
printf("\n Entered Matrix is as follows:\n");
display_o(transp, row, col);
transpose(transp, col, row);
printf(" \n Transpose of above matrix is as follows:\n");
display(col,row);
status = Symmetry_Matrix(transp, row, col);
if(status)
printf("\n Matrix is not symmetric ");
else
printf("\n Matrix is Symmetric ");
}
/* Find trace of a matrix */
/* TRAC_M.C */
# include
int i, j;
float mat[10][10];
void display( int, int);
void input( int, int);
float trace_mat(int, int);
/* Display function */
void display(int row, int col)
{
for(i = 0; i <>
{
for(j = 0; j <>
{
printf(" %f", mat[i][j]);
}
printf("\n");
}
}
/* Input function */
void input(int row, int col)
{
for(i = 0 ; i <>
{
for(j = 0 ; j <>
{
printf("\nInput Value for : %d: %d: ", i+1, j+1);
scanf("%f", &mat[i][j]);
}
}
}
/* Finding trace of a matrix */
float trace_mat(int row, int col)
{
float trace = 0;
for(i = 0; i <>
for(j = 0; j<>
if(i == j)
trace += mat[i][j];
return(trace);
}
/* main function */
void main()
{
float trace;
int r,c;
printf("\n Input the number of rows:");
scanf("%d", &r);
printf(" Input number of cols:");
scanf("%d", &c);
input(r,c);
printf("\n Entered Matrix is as follows:\n");
display(r,c);
printf("\n Trace of above matrix is :");
trace = trace_mat(r,c);
printf("%f", trace);
}
/* Transpose of a matrix */
/* TRANS_M.C */
# include
int i, j;
int value;
int mat[10][10];
void display(int, int);
void display_o( int transp[10][10],int, int);
void input( int transp[10][10],int, int);
void transpose( int transp[10][10],int, int);
/* Transpose function */
void transpose(int transp[10][10], int row, int col)
{
for(i = 0; i<>
{
for(j = 0; j <>
{
mat[i][j] = transp[j][i] ;
}
}
}
/* Output function */
void display(int row, int col)
{
for(i = 0; i <>
{
for(j = 0; j <>
{
printf(" %d", mat[i][j]);
}
printf("\n");
}
}
/* Output function */
void display_o(int transp[10][10], int row, int col)
{
for(i = 0; i <>
{
for(j = 0; j <>
{
printf(" %d", transp[i][j]);
}
printf("\n");
}
}
/* Input function */
void input(int transp[10][10], int row, int col)
{
for(i = 0 ; i<>
{
for(j = 0 ; j
{
printf("Input Value for : %d: %d: ", i+1,j+1);
scanf("%d", &value);
transp[i][j] = value;
}
}
}
/* main function */
void main()
{
int row,col;
int transp[10][10];
printf("\n Input the number of rows:");
scanf("%d", &row);
printf(" Input number of cols:");
scanf("%d", &col);
input(transp, row, col);
printf("\n Entered Matrix is as follows:\n");
display_o(transp, row, col);
transpose(transp,col,row);
printf("\n Transpose of above matrix is as follows:\n");
display(col, row);
}
/* Find upper and lower half triangle of a matrix */
/* TRIANGLE.C */
# include
int i, j;
float mat[10][10];
void display( int, int);
void input( int, int);
void Triangle_Matrix(int, int);
/* Display function */
void display(int row, int col)
{
for( i = 0; i <>
{
for( j = 0; j <>
{
printf(" %f", mat[i][j]);
}
printf("\n");
}
}
/* Input function */
void input(int row, int col)
{
for(i = 0 ; i<>
{
for(j = 0 ; j
{
printf("Input Value for : %d: %d: ",i+1, j+1);
scanf("%f", &mat[i][j]);
}
}
}
/* Finding Triangle of a matrix */
void Triangle_Matrix(int row, int col)
{
printf("\n Lower Half is as follows:\n");
for(i = 0; i <>
{
for(j = 0; j<>
{
if( i >= j )
{
printf(" %f", mat[i][j]);
}
}
printf("\n");
}
printf("\n Upper Half is as follows:\n");
for(i = 0; i <>
{
for(j = 0; j <>
{
if( i <= j )
printf(" %f", mat[i][j]);
if(i>j)
printf(" ");
}
printf("\n");
}
}
/* main function */
void main()
{
int r,c;
printf("\n Input number of rows:");
scanf("%d", &r);
printf(" Input number of cols:");
scanf("%d", &c);
input(r, c);
printf("\n Entered Matrix is as follows:\n");
display(r, c);
printf("\n Triangle Matrix is as follows:\n");
Triangle_Matrix(r,c);
}
/* Add Tow Matrices */
/* TWO_ADD.C */
# include
# include
# define row 10
# define col 10
int i, j;
int row1, col1;
int row2, col2;
float mat1[row][col];
float mat2[row][col];
float mat_res[row][col];
void mat_add( float mat1[row][col], int, int,
float mat2[row][col], int, int,
float mat_res[row][col]);
void display(float mat[row][col], int, int);
void input(float mat[row][col], int , int);
/* Function mat_add */
void mat_add(float mat1[row][col], int row1, int col1,
float mat2[row][col], int row2, int col2,
float mat_res[row][col])
{
int i, j;
if((row1 == row2) && (col1 == col2))
{
printf("\n Addition is possible and Result is as follows\n");
for(i = 0; i
for(j = 0; j
mat_res[i][j] = mat1[i][j]+mat2[i][j];
display(mat_res,row1,col1);
}
else
printf("\n Addition is not possible");
exit(0);
}
/* Output function */
void display(float mat[row][col], int r, int c )
{
for(i = 0; i <>
{
for(j = 0; j <>
{
printf(" %f", mat[i][j]);
}
printf("\n");
}
}
/* Input function */
void input(float mat[row][col], int r, int c)
{
for( i = 0 ; i <>
{
for(j = 0 ; j <>
{
printf("Input Value for : %d: %d: ", i+1, j+1);
scanf("%f", &mat[i][j]);
}
}
}
/* main function */
void main()
{
int row1, col1;
int row2, col2;
float mat1[row][col];
float mat2[row][col];
float mat_res[row][col];
printf("\n Input the row of the matrix->1:");
scanf("%d", &row1);
printf(" Input the col of the matrix->1:");
scanf("%d", &col1);
printf("\n Input data for matrix-> 1\n");
input(mat1, row1, col1);
printf("\n Input the row of the matrix ->2:");
scanf("%d", &row2);
printf("\n Input the col of the matrix->2:");
scanf("%d", &col2);
printf("\n Input data for matrix-> 2\n");
input(mat2, row2, col2);
printf("\n Entered Matrix First is as follows:\n");
display(mat1,row1,col1);
printf("\n Entered Matrix Two is as follows:\n");
display(mat2,row2,col2);
mat_add(mat1, row1, col1, mat2, row2, col2, mat_res);
}
/* Sorting two dimensional arrays row wise */
/* TWO_SORT.C */
# include
int i, j;
float mat[10][10];
void display( int, int);
void input( int, int);
void Two_Sort_Matrix(int, int);
/* Display function */
void display(int row, int col)
{
for(i = 0; i <>
{
for(j = 0; j <>
{
printf(" %f", mat[i][j]);
}
printf("\n");
}
}
/* Input function */
void input(int row, int col)
{
for(i = 0 ; i<>
{
for(j = 0 ; j
{
printf("\nInput Value for : %d: %d: ", i+1, j+1);
scanf("%f", &mat[i][j]);
}
}
}
/* Sorting of a matrix */
void Two_Sort_Matrix(int row, int col)
{
int flag ;
do
{
flag = 1;
for(i = 0; i <>
{
for(j = 0; j<>
{
if(mat[i][j] <>
{
float temp = mat[i][j];
mat[i][j] = mat[i][j+1];
mat[i][j+1] = temp;
flag = 0;
}
}
}
col -= 1;
} while(flag == 0);
}
/* main function */
void main()
{
float trace;
int r,c;
printf("\n Input number of rows:");
scanf("%d", &r);
printf("\n Input number of cols:");
scanf("%d", &c);
input(r, c);
printf("\n Entered Matrix is as follows:\n");
display(r, c);
printf("\n Sorted Matrix is as follows:\n");
Two_Sort_Matrix(r, c);
display(r, c);
}
/* Subtraction of two Matrices */
/* TWO_SUB.C */
# include
# include
# define row 10
# define col 10
int i, j;
int row1, col1;
int row2, col2;
float mat1[row][col];
float mat2[row][col];
float mat_res[row][col];
void mat_sub( float mat1[row][col], int, int,
float mat2[row][col], int, int,
float mat_res[row][col]);
void display(float mat[row][col], int, int);
void input(float mat[row][col], int , int);
/* Function mat_sub */
void mat_sub(float mat1[row][col], int row1, int col1,
float mat2[row][col], int row2, int col2,
float mat_res[row][col])
{
if(( row1 == row2) && (col1 == col2))
{
printf("\n Subtraction is possible and Result is as follows\n");
for(i = 0; i <>
for(j = 0; j <>
mat_res[i][j] = mat1[i][j] - mat2[i][j];
display(mat_res,row1,col1);
}
else
printf("\n Subtraction is not possible");
exit(0);
}
/* Output Function */
void display(float mat[row][col], int r, int c )
{
for(i = 0; i <>
{
for(j = 0; j <>
{
printf(" %f", mat[i][j]);
}
printf("\n");
}
}
/* Input function */
void input(float mat[row][col], int r, int c)
{
for(i = 0 ; i<>
{
for(j = 0 ; j
{
printf("Input Value for : %d: %d: ", i+1, j+1);
scanf("%f", &mat[i][j]);
}
}
}
/* main function */
void main()
{
int row1, col1;
int row2, col2;
float mat1[row][col];
float mat2[row][col];
float mat_res[row][col];
printf("\n Input the row of the matrix->1:");
scanf("%d", &row1);
printf("\n Input the col of the matrix->1:");
scanf("%d", &col1);
printf(" Input data for matrix-> 1\n");
input(mat1, row1, col1);
printf("Input the row of the matrix ->2:");
scanf("%d", &row2);
printf(" Input the col of the matrix->2:");
scanf("%d", &col2);
printf(" Input data for matrix-> 2\n");
input(mat2, row2, col2);
printf("\n Entered Matrix First is as follows:\n");
display(mat1,row1,col1);
printf("\n Entered Matrix Two is as follows:\n");
display(mat2,row2,col2);
mat_sub(mat1,row1,col1,mat2,row1,col2,mat_res);
display(mat_res,row2,col2);
}
No comments:
Post a Comment