Функция заполнения массива случайными числами

Задача

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

Пояснение к задаче и алгоритм решения

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

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

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

Исходный код на языке программирования Pascal

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.

Пример(ы) выполнения программы на языке Pascal

-10
0
  -5  -5  -5  -3  -1  -8  -5  -5   0 -10

Исходный код на языке программирования C

#include <stdio.h>
#define N 10
 
void arr_make(int arr[], int min, int max);
 
main () {
  int arrI[N], i, mn, mx;
  scanf("%d%d", &mn, &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) {
  int i;
  srand(time(NULL));
  for (i=0; i<N; i++)
    arr[i] = rand() % (max - min + 1) + min;
}

Пример(ы) выполнения программы на языке C

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)

Пример(ы) выполнения программы на языке Python

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

Тема

Функции

Уровень сложности

Простой

Дата публикации