No calling the (empty) solve method
This commit is contained in:
20
main.c
20
main.c
@@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
int n;
|
int n;
|
||||||
double **data;
|
double** data;
|
||||||
} Matrix;
|
} Matrix;
|
||||||
Matrix* createMatrix(void);
|
Matrix* createMatrix(void);
|
||||||
void freeMatrix(Matrix* matrix);
|
void freeMatrix(Matrix* matrix);
|
||||||
@@ -18,7 +18,7 @@ void printMatrix(Matrix* matrix);
|
|||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
int n;
|
int n;
|
||||||
double *data;
|
double* data;
|
||||||
} Vector;
|
} Vector;
|
||||||
Vector* createVector(void);
|
Vector* createVector(void);
|
||||||
void initVector(Vector* vector, int size);
|
void initVector(Vector* vector, int size);
|
||||||
@@ -30,11 +30,10 @@ typedef enum {
|
|||||||
} Method;
|
} Method;
|
||||||
|
|
||||||
bool load(const char* filename, Matrix* A, Vector* b, Vector* x);
|
bool load(const char* filename, Matrix* A, Vector* b, Vector* x);
|
||||||
void solve(Method method, Matrix* A, Vector* b, Vector* x, double e);
|
Vector* solve(Method method, Matrix* A, Vector* b, Vector* x, double e);
|
||||||
|
|
||||||
int readMatrixLine(FILE* file, double* matrixLine, int maxCols);
|
int readMatrixLine(FILE* file, double* matrixLine, int maxCols);
|
||||||
|
|
||||||
|
|
||||||
int main(int argc, char* argv[]) {
|
int main(int argc, char* argv[]) {
|
||||||
Matrix* matrix = createMatrix();
|
Matrix* matrix = createMatrix();
|
||||||
Vector* b = createVector();
|
Vector* b = createVector();
|
||||||
@@ -54,6 +53,9 @@ int main(int argc, char* argv[]) {
|
|||||||
printVector(b);
|
printVector(b);
|
||||||
puts("Vector x:");
|
puts("Vector x:");
|
||||||
printVector(x);
|
printVector(x);
|
||||||
|
|
||||||
|
Vector* result = solve(JACOBI, matrix, b, x, 0.00001);
|
||||||
|
free(result);
|
||||||
} else {
|
} else {
|
||||||
puts("Failed to load data from file");
|
puts("Failed to load data from file");
|
||||||
returnCode = 2;
|
returnCode = 2;
|
||||||
@@ -175,8 +177,16 @@ int readMatrixLine(FILE* file, double* matrixLine, int maxCols) {
|
|||||||
return col;
|
return col;
|
||||||
}
|
}
|
||||||
|
|
||||||
void solve(Method method, Matrix* A, Vector* b, Vector* x, double e) {
|
Vector* solve(Method method, Matrix* A, Vector* b, Vector* x, double e) {
|
||||||
|
Vector* vectors = malloc(sizeof(Vector)*100);
|
||||||
|
|
||||||
|
// on success
|
||||||
|
// Bitte setzt vectors[n+1].n = 0
|
||||||
|
return vectors;
|
||||||
|
|
||||||
|
// on failure
|
||||||
|
free(vectors);
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline Matrix* createMatrix(void) {
|
inline Matrix* createMatrix(void) {
|
||||||
|
|||||||
Reference in New Issue
Block a user