Задать случайным образом одномерный массив размерности N из целочисленных элементов - C (СИ)

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

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

Задать случайным образом одномерный массив размерности N из целочисленных элементов, принадлежащих отрезку [-20;20].

Решение задачи: «Задать случайным образом одномерный массив размерности N из целочисленных элементов»

textual
Листинг программы
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int main()
{
    srand(time(0));
    int n;
    int *a, i;
    printf("n = ");
    scanf("%d", &n);
    a = (int*)malloc(sizeof(int));
    for (i = 0; i < n; i++)
    {  
        a[i] = rand()%41 - 20; 
        printf("%d\t", a[i]);
    }
    getch();
    return 0;
}

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

В этом коде:

  1. Сначала подключаются необходимые библиотеки для работы со случайными числами, вводом/выводом и управлением памятью.
  2. Затем определяется точка входа в программу - функция main().
  3. Выполняется инициализация генератора случайных чисел с помощью функции srand(time(0)).
  4. Задается переменная типа int n, которая будет использоваться для определения размера массива. Значение этой переменной будет вводиться с клавиатуры.
  5. Выделяется память под массив типа int с помощью функции malloc(). Размер памяти, выделяемой под массив, определяется как n+1, так как в массиве с индексами от 0 до n-1 будет храниться n целочисленных значений.
  6. В цикле for, выполняемом n раз, происходит заполнение массива a случайными целыми числами** в диапазоне от -20 до 20 с шагом 1. Для этого используется функция rand(), которая возвращает случайное число в указанном диапазоне.
  7. Выводится на экран значение каждого элемента массива с помощью функции printf().
  8. В конце программы выполняется задержка с помощью функции getch(), чтобы программа не закрылась сразу после вывода на экран последнего элемента массива.
  9. В конце программы возвращается 0, что означает успешное выполнение программы.

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

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