/* nag_ran_sample_vec (g05ejc) Example Program. * * Copyright 1992 Numerical Algorithms Group. * * Mark 3, 1992. */ #include #include #include #include #define NMAX 8 int main(void) { Integer exit_status = 0; Integer i, n, m, k; Integer ia[NMAX], ib[NMAX]; Integer seed = 0; NagError fail; INIT_FAIL(fail); printf("nag_ran_sample_vec (g05ejc) Example Program Results\n"); /* nag_random_init_repeatable (g05cbc). * Initialize random number generating functions to give * repeatable sequence */ nag_random_init_repeatable(seed); n = NMAX; for (i = 0; i < n; ++i) ia[i] = i; printf("\nSamples from the first %ld integers \n\n", n); printf("Sample size Values \n"); for (m = 1; m <= n; ++m) { /* nag_ran_sample_vec (g05ejc). * Pseudo-random sample without replacement from an integer * vector */ nag_ran_sample_vec(ia, n, ib, m, &fail); if (fail.code != NE_NOERROR) { printf("Error from nag_ran_sample_vec (g05ejc) %s\n", fail.message); exit_status = 1; goto END; } printf(" %ld ", m); for (k = 0; k < m; ++k) printf("%ld ", ib[k]); printf("\n"); } END: return exit_status; }