Сгенерировать динамический массив из N случайных целых чисел, заданных в интервале от Q до P - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Сгенерировать динамический массив из N случайных целых чисел, заданных в интервале от Q до P (размер массива и диапазон генерации задаёт пользователь) и вывести значения элементов массива в окно терминала. Найти сумму значений всех элементов, значения которых меньше заданного числа M. Найти максимальное нечётное значение элементов массива.

Решение задачи: «Сгенерировать динамический массив из N случайных целых чисел, заданных в интервале от Q до P»

textual
Листинг программы
int N=10, SUM=0, odd=0;
 
    srand(time(0));
    int *array=calloc(N, sizeof(int));
 
    for(int i=0; i<N; i++){
        array[i]=rand()%(P-Q)+Q;
        printf("array[%d] = %d\n", i, array[i]);
        
        if(array[i]<M)
            SUM+=array[i];
        
        if((array[i]%2!=0) && (array[i]>odd))
            odd=array[i];
    }
    printf("sum - %d\n",SUM);
    printf("odd - %d\n", odd);
    free(array);

Объяснение кода листинга программы

В этом коде:

  1. Сначала мы объявляем переменные:
    • N - количество элементов в массиве (10);
    • SUM - сумма элементов массива;
    • odd - для хранения нечетного элемента с максимальным значением.
  2. Затем мы инициализируем генератор случайных чисел с помощью функции srand(time(0)), которая получает текущее время в качестве семени для генерации случайных чисел.
  3. Мы выделяем память под массив с помощью функции calloc(N, sizeof(int)).
  4. В цикле мы заполняем массив случайными числами в диапазоне от Q до P с помощью функции rand()%(P-Q)+Q.
  5. Мы обновляем сумму элементов массива, если элемент меньше M.
  6. Мы обновляем нечетный элемент с максимальным значением, если текущий элемент нечетный и больше текущего значения odd.
  7. После цикла мы выводим сумму элементов массива и нечетный элемент с максимальным значением.
  8. Мы освобождаем память, выделенную под массив, с помощью функции free(array).

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


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

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

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