Приостановка работы программы на определенное время - 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);
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.429 из 5
Похожие ответы