/* 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