added scalar matrix multiplication
This commit is contained in:
parent
fc1d949919
commit
581ea39bbd
3 changed files with 131 additions and 32 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -50,3 +50,6 @@ modules.order
|
|||
Module.symvers
|
||||
Mkfile.old
|
||||
dkms.conf
|
||||
|
||||
# random shit I test
|
||||
test.c
|
100
functions.h
100
functions.h
|
@ -1,65 +1,121 @@
|
|||
#include <math.h>
|
||||
#include <stdio.h>
|
||||
|
||||
double exponent( double par){
|
||||
double exponent(double par)
|
||||
{
|
||||
double raisedNum;
|
||||
raisedNum = par * par;
|
||||
|
||||
|
||||
return raisedNum;
|
||||
};
|
||||
|
||||
double hypotenuse(double par, double par2){
|
||||
double hypotenuse(double par, double par2)
|
||||
{
|
||||
|
||||
double sideC;
|
||||
sideC = sqrt( exponent(par) + exponent(par2) );
|
||||
sideC = sqrt(exponent(par) + exponent(par2));
|
||||
|
||||
return sideC;
|
||||
};
|
||||
|
||||
void quadratic(double numA, double numB, double numC, double *awn1ptr, double *awn2ptr){
|
||||
|
||||
double awn1 = (-numB) + sqrt( exponent(numB) - 4 * numA * numC);
|
||||
void quadratic(double numA, double numB, double numC, double *awn1ptr, double *awn2ptr)
|
||||
{
|
||||
|
||||
double awn1 = (-numB) + sqrt(exponent(numB) - 4 * numA * numC);
|
||||
double awn1F = awn1 / (2 * numA);
|
||||
double awn2 = (-numB) - sqrt( exponent(numB) - 4 * numA * numC);
|
||||
double awn2 = (-numB) - sqrt(exponent(numB) - 4 * numA * numC);
|
||||
double awn2F = awn2 / (2 * numA);
|
||||
|
||||
*awn1ptr = awn1F;
|
||||
*awn2ptr = awn2F;
|
||||
};
|
||||
|
||||
double areaOfCircle(double radius){
|
||||
|
||||
double areaOfCircle(double radius)
|
||||
{
|
||||
|
||||
double area;
|
||||
area = acos(-1) * exponent(radius);
|
||||
|
||||
|
||||
return area;
|
||||
}
|
||||
|
||||
int buildMatrix(int numRows, int numColumns)
|
||||
// int buildMatrix(int numRows, int numColumns)
|
||||
// {
|
||||
|
||||
// int matrix[numRows][numColumns];
|
||||
|
||||
// printf("\nEnter elements in matrix of size %dx%d \n", numRows, numColumns);
|
||||
|
||||
// for (int i = 0; i < numRows; i++)
|
||||
// {
|
||||
// for (int j = 0; j < numColumns; j++)
|
||||
// {
|
||||
// scanf("%d", &matrix[i][j]);
|
||||
// }
|
||||
// }
|
||||
|
||||
// printf("\nElements in matrix are: \n");
|
||||
// for (int i = 0; i < numRows; i++)
|
||||
// {
|
||||
// for (int j = 0; j < numColumns; j++)
|
||||
// {
|
||||
// printf("%d ", matrix[i][j]);
|
||||
// }
|
||||
// printf("\n");
|
||||
// }
|
||||
|
||||
// return 0;
|
||||
// }
|
||||
//TODO: rewrite matrix builder
|
||||
|
||||
void printMatrix(int row, int col, int m[row][col])
|
||||
{
|
||||
for (int i = 0; i < row; i++)
|
||||
{
|
||||
for (int j = 0; j < col; j++)
|
||||
{
|
||||
printf("%d ", m[row][col]);
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
void addMatrices(int r, int c, int m1[r][c], int m2[r][c], int mr[r][c])
|
||||
{
|
||||
for (int i = 0; i < r; i++)
|
||||
{
|
||||
for (int j = 0; j < c; j++)
|
||||
{
|
||||
mr[i][j] = m1[i][j] + m2[i][j];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int scalarMultiplication(int numRows, int numColumns, int scalar)
|
||||
{
|
||||
|
||||
int matrix[numRows][numColumns];
|
||||
|
||||
|
||||
printf("\nEnter elements in matrix of size %dx%d \n", numRows, numColumns);
|
||||
|
||||
for(int i = 0; i < numRows; i++)
|
||||
for (int i = 0; i < numRows; i++)
|
||||
{
|
||||
for(int j = 0; j < numColumns; j++)
|
||||
for (int j = 0; j < numColumns; j++)
|
||||
{
|
||||
scanf("%d", &matrix[i][j]);
|
||||
}
|
||||
}
|
||||
|
||||
printf("\nElements in matrix are: \n");
|
||||
for(int i = 0; i < numRows; i++)
|
||||
printf("\nScaled matrix is: \n");
|
||||
for (int i = 0; i < numRows; i++)
|
||||
{
|
||||
for(int j = 0; j < numColumns; j++)
|
||||
for (int j = 0; j < numColumns; j++)
|
||||
{
|
||||
printf("%d ", matrix[i][j]);
|
||||
printf("%d ", matrix[i][j]*scalar);
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
60
main.c
60
main.c
|
@ -15,6 +15,8 @@ int main()
|
|||
printf("\n 4. Build a matrix");
|
||||
printf("\n 5. Matrix determinant");
|
||||
printf("\n 6. Matrix addition");
|
||||
printf("\n 7. Matrix multiplication");
|
||||
printf("\n 8. Scalar matrix multiplication");
|
||||
printf("\n\n Enter your choice here:_____");
|
||||
printf("\033[D");
|
||||
printf("\033[D");
|
||||
|
@ -80,22 +82,22 @@ int main()
|
|||
case 4:
|
||||
|
||||
system("clear");
|
||||
printf("\n ~~ Build a matrix ~~\n\n");
|
||||
int numRows;
|
||||
int numColumns;
|
||||
printf("\nPlease enter the number of rows: ");
|
||||
scanf("%d", &numRows);
|
||||
printf("\nPlease enter the number of columns: ");
|
||||
scanf("%d", &numColumns);
|
||||
buildMatrix(numRows, numColumns);
|
||||
// printf("\n ~~ Build a matrix ~~\n\n");
|
||||
// int numRows;
|
||||
// int numColumns;
|
||||
// printf("\nPlease enter the number of rows: ");
|
||||
// scanf("%d", &numRows);
|
||||
// printf("\nPlease enter the number of columns: ");
|
||||
// scanf("%d", &numColumns);
|
||||
// buildMatrix(numRows, numColumns);
|
||||
|
||||
break;
|
||||
//TODO: replace this
|
||||
|
||||
case 5:
|
||||
|
||||
system("clear");
|
||||
printf("\n ~~ Matrix determinant ~~\n\n");
|
||||
|
||||
|
||||
break;
|
||||
|
||||
|
@ -103,7 +105,45 @@ int main()
|
|||
|
||||
system("clear");
|
||||
printf("\n ~~ Matrix addition ~~\n\n");
|
||||
|
||||
// int numRows;
|
||||
// int numColumns;
|
||||
// printf("\nPlease enter the number of rows: ");
|
||||
// scanf("%d", &numRows);
|
||||
// printf("\nPlease enter the number of columns: ");
|
||||
// scanf("%d", &numColumns);
|
||||
|
||||
// printMatrix(numRows, numColumns, matrix1);
|
||||
// printf("\n");
|
||||
// printMatrix(numRows, numColumns, matrix2);
|
||||
// printf("\n");
|
||||
|
||||
// addMatrices(numRows, numColumns, matrix1, matrix2, sumMatrix);
|
||||
|
||||
// printMatrix(numRows, numColumns, sumMatrix);
|
||||
|
||||
break;
|
||||
case 7:
|
||||
|
||||
system("clear");
|
||||
printf("\n ~~ Matrix multiplication ~~\n\n");
|
||||
|
||||
break;
|
||||
case 8:
|
||||
|
||||
system("clear");
|
||||
printf("\n ~~ Scalar matrix multiplication ~~\n\n");
|
||||
|
||||
int numRows;
|
||||
int numColumns;
|
||||
int scalar;
|
||||
printf("\nPlease enter the number of rows: ");
|
||||
scanf("%d", &numRows);
|
||||
printf("\nPlease enter the number of columns: ");
|
||||
scanf("%d", &numColumns);
|
||||
printf("\nPlease enter the scalar multiplier: ");
|
||||
scanf("%d", &scalar);
|
||||
|
||||
scalarMultiplication(numRows, numColumns, scalar);
|
||||
|
||||
break;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue