Exemplo n.º 1
0
Arquivo: lup.c Projeto: mastanggt/Lup
int main(){
	int size=4;
	float** a=array_initialize(size);
	float b[size];
	float* x;
	create_a(a,size);
	create_b(b,size);
	clock_t time;
	time = clock();
	x=lup_solve(a,b,size);
	time = clock() - time;
	printf("LUP-разложение (%d,%d) завершено за %f сек.\n",size, size, ((double)time/CLOCKS_PER_SEC));
	printf("\n");
	check(a,b,x,size);
	
	int i, j;
	
	
	
	printf("Матрица а\n");
	printf(" \n");
	for (i=0; i<size;i++){
		for (j=0; j<size; j++){
			printf("%f ", a[i][j]); }
		printf("\n");}
	printf("\n");
	
	
	printf("B \n");
	for (i=0; i<size;i++){
			printf("%f ", b[i]); }
	printf("\n");

	printf("A \n");
	for (i=0; i<size;i++){
		for (j = 0; j < size; j++) {
			printf("%f ", a[i][j]);
		}printf("\n");
			 }
		
	printf("\n");

	printf("X \n");
	for (i=0; i<size;i++){
			printf("%f ", x[i]); }
	printf("\n");
	
	
	return 0;
}
Exemplo n.º 2
0
extern symbol * add_s_to_b(symbol * p, const char * s) {
    int n = strlen(s);
    int k;
    if (p == 0) p = create_b(n);
    k = SIZE(p);
    {
        int x = k + n - CAPACITY(p);
        if (x > 0) p = increase_capacity(p, x);
    }
    {
        int i;
        for (i = 0; i < n; i++) p[i + k] = s[i];
    }
    SIZE(p) += n;
    return p;
}
Exemplo n.º 3
0
extern symbol * copy_b(symbol * p) {
    int n = SIZE(p);
    symbol * q = create_b(n);
    move_to_b(q, n, p);
    return q;
}
Exemplo n.º 4
0
extern symbol * increase_capacity(symbol * p, int n) {
    symbol * q = create_b(CAPACITY(p) + n + EXTENDER);
    memmove(q, p, CAPACITY(p) * sizeof(symbol));
    SIZE(q) = SIZE(p);
    lose_b(p); return q;
}
Exemplo n.º 5
0
/* Create a new string. */
extern struct str * str_new() {

    struct str * output = (struct str *) malloc(sizeof(struct str));
    output->data = create_b(0);
    return output;
}