Exemplo n.º 1
0
/* Test the behaviour of our queue implementation,
   by creating a queue with a random number of nodes
   and each containing a random integer.*/
int testRandomQueue()
{
    QQueue queue = NULL;
    int sumq = 0;
    int sumb = 0;
    int suma = 0;
    int len = 0;
    srand((u_int32_t)time(NULL)); /* Seed the random generator */
    int size = rand() % 1000;
    
    
    for (int i = 0; i < size; i++)
    {
        int* el = (int*)malloc(sizeof(Data));
        *el = rand()/100000;
        sumb = sumb + *el;
        enqueue(&queue, el);
    }
    sumq = sum(queue, sumInts);
    len = length(queue);
    for (int i = 0; i < size; i++) {
        int* el = dequeue(&queue);
        suma = suma + sumInts(el);
        free(el);
    }
    
    if (debugValues) {
        printf("Truth of (sumi == sumq && sumq == suma), %d, len == size(%d), %d\n"
	       , (sumb == sumq && sumq == suma), size, len == size);
    }
    
    return (sumb == sumq && sumq == suma) && len == size;
}
Exemplo n.º 2
0
int main(int argc, char *argv[]) {
	srand((unsigned)time(NULL));	

	n = rand() % 30 + 1;
	if(argc == 2) {
		sscanf(argv[1], "%d", &n);
	}

	generateNumbers(a, 1, n);

	//printf("n= %d\n", n);
	//printf("original data\n");
	printf("%d\n", n);
	display(a, 1, n);

	qsort(a+1, n, sizeof(a[1]), intsCmp);

	//printf("after sort\n");
	//display(a, 1, n);

	s = sumInts(a, 1, n);

	intsCopy(b, a, 1, n);

	for(int i=1; i<=n; i++) {
		b[i] += b[i-1];
	}
	//printf("list sum\n");
	//display(b, 1, n);

	half = (double)s / 2;
	avg = (double)s / n;
	//printf("total weight:: %d\n", s);
	//printf("halg weight:: %.2lf\n", half);
	//printf("avg weight:: %.2lf\n", avg);


	clock_t t;
	t = clock();
	trace(1, 0);
	t = clock() - t;

	printf("%lu clicks (%f secs)\n", t, (float)t / CLOCKS_PER_SEC);
	printf("%d %d\n", res, s - res);

	return 0;
}
Exemplo n.º 3
0
int main(int argc, char *argv[]) {
    int n, k, result;

    if (argc == 2) {
        if (!strcmp(argv[1], "-h"))
            printf("Usage: sum2n <positive integer> <positive integer>\n");
    }
    else if (argc == 3) {
        n = atoi(argv[1]);
        k = atoi(argv[2]);
        result = sumInts(n, k);
        if ( result != -1 )
            printf("%d\n", result);
        else {
            printf("overflow\n");
            return 1;
        }

        return 0;
    }

    return 1;
}