Приостановка работы программы на определенное время - C (СИ)
Формулировка задачи:
Есть такая функция, чтобы приостановила выполнение программы на несколько секунд? А то два массива должны заполняться разными случайными числами, а они заполняются одинаковыми числами
Решение задачи: «Приостановка работы программы на определенное время»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <time.h> #define MAX_NUMBERS 1024 struct rn { int * arr; int * pNum; int size; } rnums; int mix(const void * a, const void * b) { return rand() % MAX_NUMBERS - MAX_NUMBERS / 2; } int init_numbers(int cnt){ int i; if ( cnt < 1 || cnt > MAX_NUMBERS ) return -1; if ( ( rnums.arr = (int*)calloc(cnt, sizeof(int)) ) == NULL ) return -1; rnums.size = cnt; for ( i = 0; i < rnums.size; ++i ) rnums.arr[i] = i; srand(time(NULL)); qsort(rnums.arr, rnums.size, sizeof(int), mix); rnums.pNum = rnums.arr; return 0; } int get_num(void){ if ( rnums.pNum - rnums.arr >= rnums.size ) rnums.pNum = rnums.arr; return *(rnums.pNum++); } void destroy_numbers(void){ free(rnums.arr); } #define SIZE 10 int main(void){ int a[SIZE], b[SIZE], i; if ( init_numbers(99) ){ fprintf(stderr, "Can't init random numbers!\n"); exit(EXIT_FAILURE); } for ( i = 0; i < SIZE; ++i ){ a[i] = get_num(); b[i] = get_num(); } printf("\nA: "); for ( i = 0; i < SIZE; ++i ) printf("%02d ", a[i]); printf("\nB: "); for ( i = 0; i < SIZE; ++i ) printf("%02d ", b[i]); printf("\n"); destroy_numbers(); exit(EXIT_SUCCESS); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д