Задать случайным образом одномерный массив - C (СИ)
Формулировка задачи:
Массив
Постановка задачи :
2. 1. Задать случайным образом одномерный массив размерности N из целочисленных элементов, принадлежащих отрезку [-20;20]. Выполнить задание своего варианта.
2. 2.
Решение задачи: «Задать случайным образом одномерный массив»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
int *a;
int n;
int i;
int left;
int rigth;
printf("Input dimention: ");
scanf("%d", &n);
a = calloc(n, sizeof(int));
printf("Input left :");
scanf("%d", &left);
printf("Input rigth: ");
scanf("%d", &rigth);
srand(time(NULL));
for (i = 0; i < n; i++)
{
a[i] = left + rand() % rigth;
printf("%d", a[i]);
}
return 0;
}
Объяснение кода листинга программы
В этом коде:
- Объявлены переменные:
a- указатель на массив целых чисел, который будет заполняться случайными значениями;n- количество элементов в массиве;i- счётчик для итераций по массиву;left- левая граница диапазона случайных чисел;rigth- правая граница диапазона случайных чисел.
- С помощью функции
scanfпользователь вводит:- размер массива
n; - левую границу
left; - правую границу
rigth.
- размер массива
- С помощью функции
callocвыделяется память под массивaразмеромnс учётом возможной ошибки. - С помощью функции
srandиtime(NULL)инициализируется генератор случайных чисел. - С помощью цикла
forзаполняется массивaслучайными числами отleftдоrigth. - С помощью функции
printfвыводятся значения массива. - Конец программы достигается при завершении цикла и возврате 0.