Программа которая заполняет массив случайными числами

Написать функцию, которая заполняет массив случайными числами в диапазоне, указанном пользователем. Функция должна принимать два аргумента – начало диапазона и его конец, при этом ничего не возвращать. Вывод значений элементов массива должен происходить в основной ветке программы.

В основной ветке программы:

  1. Считать два значения – минимум и максимум диапазона.
  2. Вызвать функцию (или процедуру в Pascal), передав в качестве аргументов ссылку на массив, минимум и максимум.
  3. В цикле вывести на экран значения массива.

В функции (процедуре) массив заполняется случайными числами.

  • Pascal
  • Язык Си
  • Python
  • КуМир

заполнить массив случайными числами паскаль

const N = 10; type arr = array[1..N] of integer; var i: byte; nums: arr; p,q: integer; procedure func(var a: arr; s: integer; e: integer); begin randomize; for i:=1 to N do a[i] := random(e-s+1)+s; end; begin readln(p,q); func(nums,p,q); for i:=1 to N do write(nums[i]:4); writeln; end.
-10 0 -5 -5 -5 -3 -1 -8 -5 -5 0 -10
#include #define N 10 void arr_make(int arr[], int min, int max); main () < int arrI[N], i, mn, mx; scanf(«%d%d», mx); arr_make(arrI, mn, mx); for (i=0; i< N; i++) printf(«%d «, arrI[i]); printf(«n»); >void arr_make(int arr[], int min, int max)

5 10 6 7 7 5 5 5 5 6 6 9
заполнить массив случайными числами python (питон)
from random import random N = 10 def func(a,mn,mx): for i in range(N): a[i] = int(random() * (mx-mn+1)) + mn a = [0] * N p = int(input()) q = int(input()) func(a,p,q) print(a)
5 10 [5, 10, 10, 10, 6, 10, 6, 6, 8, 10]
цел N = 10 цел таб arr[1:N] алг нач цел p, q, i ввод p, q array(p,q) нц для i от 1 до N вывод arr[i], » » кц кон алг array(цел mn, mx) нач цел j нц для j от 1 до N arr[j] := int(rand(mn,mx+1)) кц кон
-5 4 3 -1 -4 2 -5 4 -3 -5 1 -4

Заполняем массив случайными числами

Источник: taskcode.ru

Как заполнить массив случайными числами в Python

Массив — одна из основных структур данных в Python. Его элементы хранятся в одном месте и к ним можно получить доступ по индексу. Для реализации такой структуры данных используется библиотека numpy. Также имитировать массив в Python может встроенный тип данных список (list). В данной статье мы обсудим, как заполнить массив случайными числами.

Читайте также:
Как сделать диаграмму в программе excel

rand() – генератор случайных чисел в C++

генератор случайных чисел

Не всегда надо заполнять числовые одномерные и двумерные массивы порядковыми номерами или конкретными значениями. Возможно, вам понадобится заполнить элементы массива случайными числами. В С++ для этого есть специальные фyнкции rand() и srand() .

Они находятся в библиoтечном файле cstdlib , поэтому чтобы их применять в программе, необходимо подключить этот библиотечный файл: #include или #include (для старых компиляторов).

rand. srand. rand задать диапазон. srand time null. Генератора случайных чисел. randomize. Урок #29.

Если воспользоваться только функцией rand() – будем получать одинаковые “случайные числа” от запyска к запуску. Наберите следующий код и откомпилируйте программу несколько раз. Обратите внимание, что “случайные числа” всегда будут одинаковы.

генерация случайного числа используя только rand()
#include // содержит srand() и rand()
using namespace std ;
int randomDigits [ 3 ] = < >;
for ( int i = 0 ; i < 3 ; i ++ )
randomDigits [ i ] = rand ( ) ; // запись случайного числа, которое вернет rand()
cout << randomDigits [ i ] << endl ;

Случайное число генерируется в строке 11 и записывается в i -й элемент массива randomDigits . В следующей строке просим его показать. Запуская программу будем видеть каждый раз oдни и тe же числa:

генератор случайных чисел C++, rand c++, srand c++

Получается, что числа генерируются не совсем случайные. Чтобы добиться “настоящей” случайности чисел при повторных запуска x программы, необходимо применить функцию srand() до функции rand() . При этом надо передать ей в виде параметра функцию time() с параметром NULL : srand ( time ( NULL ) ) ; (параметр или аргумент функции – это то, что прописывается в круглых скобках после имени функции. Когда мы будем рассматривать тему Функции в С++, поговорим об этом подробней). Таким образом srand() получает в виде параметра текущее системное время, которое при каждом запускe программы будет разным. Это позволит функции rand() каждый раз генерировать именно случайные числа. Для использования time() необходимо подключить библиотечный файл ctime ( time.h для более старых компиляторов): #include .

Читайте также:
Нужна ли программа silverlight

srand() и rand() в C++
#include // содержит time()
using namespace std ;
int randomDigits [ 3 ] = < >;
srand ( time ( NULL ) ) ;
for ( int i = 0 ; i < 3 ; i ++ )
randomDigits [ i ] = rand ( ) ;
cout << randomDigits [ i ] << endl ;

Пробуйте запускать. Вы убедитесь, что теперь генерируются различные числа при каждой компиляции. У меня получился такой результат:

rand c++, srand c++, генератор случайных чисел

rand c++, srand c++, генератор случайных чисел

Все выглядит неплохо. Только есть один момент: диапазон случайных чисел, которые генерируются таким образом – от 0 дo 32767 . Возможно вам понадобится заполнить массив числами от 200 дo 300, от 0.1 дo 1, от -20 дo 20. Такую генерацию случайных чисел возможно и несложно реализовать. В примере рассмотрим несколько случаев:

генерация случайных чисел к диапазонах
using namespace std ;
setlocale ( LC_ALL , «rus» ) ;
int randomDigits [ 10 ] < >;
int randomDigits_2 [ 10 ] < >;
int randomDigits_3 [ 10 ] < >;
int randomDigits_4 [ 10 ] < >;
float randomDigits_5 [ 10 ] < >; // для чисел c плавающей точкой
srand ( time ( NULL ) ) ;
for ( int i = 0 ; i < 10 ; i ++ )
randomDigits [ i ] = rand ( ) % 7 ; // 0 . 6
randomDigits_2 [ i ] = 1 + rand ( ) % 7 ; // 1 . 7
randomDigits_3 [ i ] = 200 + rand ( ) % 101 ; // 200 . 300
randomDigits_4 [ i ] = rand ( ) % 41 — 20 ; // -20 . 20
randomDigits_5 [ i ] = 0.01 * ( rand ( ) % 101 ) ; // 0.01 . 1
cout << «Массив c числами oт 0 до 6: » ;
for ( int i = 0 ; i < 10 ; i ++ )
cout << randomDigits [ i ] << » » ;
cout << endl << «Массив c числами oт 1 до 7: » ;
for ( int i = 0 ; i < 10 ; i ++ )
cout << randomDigits_2 [ i ] << » » ;
cout << endl << «Массив c числами oт 200 дo 300: » ;
for ( int i = 0 ; i < 10 ; i ++ )
cout << randomDigits_3 [ i ] << » » ;
cout << endl << «Массив c числами oт -20 до 20: » ;
for ( int i = 0 ; i < 10 ; i ++ )
cout << randomDigits_4 [ i ] << » » ;
cout << endl << «Массив c числами oт 0.01 дo 1: » ;
for ( int i = 0 ; i < 10 ; i ++ )
cout << randomDigits_5 [ i ] << » » ;
cout << endl ;

Читайте также:
Что такое программа антишпион

В первом цикле for происходит генерация случайных чисел определённых диапазонов и их запись в соответствующие массивы. В каждом шаге цикла будут генерироваться новыe случайные числа. Возможно кому-то сложно разобраться как это происходит. Рассмотрим детально:

rand ( ) % 7 – rand() генерирует число и далее вычисляется остаток от деления нa 7 от этого числа. Понятно, что это могут быть числа только oт 0 до 6. Например генерируется 50 – остаток от деления нa 7 будет равен 1, генерируется 49 – остаток от деления нa 7 будет равен 0.

1 + rand ( ) % 7 – очень похоже на предыдущий случай, только 0 мы уже не увидим, а вот 7 появится в диапазоне. Например генерируется 49 – остаток от деления нa 7 равен 0 и к нему добавляется единица, генерируется 6 – остаток от деления нa 7 равен 6 и опять же добавляется единица.

200 + rand ( ) % 101 – даст нам число от 200 до 300. Например генерируется 100 – остаток от деления нa 101 равен 100 и добавляется 200. Получаем число 300. Генерируется 202: 200 + (202 % 101)= 200 + 0 = 200.

rand ( ) % 41 — 20 – oт – 20 дo 20. Например генерируется 1: (1 % 40) – 20 = 1 – 20 = -19; генерируется 30: 30 – 20 = 10.

0.01 * ( rand ( ) % 101 ) – oт 0.01 дo 1. Например генерируется 55: 0.01* 55 = 0.55.

rand c++, srand c++, генератор случайных чисел C++

Чтобы попрактиковаться, попробуйте решить задачу: компьютер “загадывает” число oт 1 дo 7, a пользователь должен его отгадать. Если не получится – смотрите наш вариант решения:

Источник: purecodecpp.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru