Задача 1 Урок 21
Primary tabs
program my_program; type b = array[1..10] of integer; // объявление типа function filling_array( min, max : integer ) : b; var count, i, j, l, k, number : integer; arr : b; begin count := 0; k := 1; randomize; // вызов процедуры while( count < 10 ) do begin number := random( max - (min + 1) + min ) ; // случайные числa write( number, ' ' ); j := 0; for i := low( arr ) to k do begin if( arr[i] <> number ) then begin j += 1; if( j = k ) then begin count += 1; k += 1; arr[count] := number; end; end else break; end; end; filling_array := arr; // возвращаем значение функции end;Что делает эта функция?
В данной функции есть лишние переменные, перепишите код так, чтобы они не использовались.
заполнение массива рандомом
type b = array[1..10] of integer; // объявление типа
function filling_array( min, max : integer ) : b;
var i, number : integer;
arr : b;
begin
randomize; // вызов процедуры
for i := low(arr) to high(arr) do
begin
number := random( max - (min + 1) + min ) ; // случайные числa
arr[i] := number;
end;
filling_array := arr; // возвращаем значение функции
end;
- Log in to post comments
- 1510 reads
vedro-compota
Sun, 10/03/2021 - 12:57
Permalink
это не просто случайные числа
это не просто случайные числа
+ написать комментарий на тему "что делает эта функция"
_____________
матфак вгу и остальная классика =)
jl8qy9kd_pro
Fri, 10/08/2021 - 16:06
Permalink
RE
//Заполняет массив уникальными элементами из заданного диапазона program my_program; type b = array[1..10] of integer; // объявление типа var i :integer; c: array[1..10] of integer; function filling_array( min, max : integer ) : b; var i, k, number : integer; arr : b; begin k := 1; randomize; // вызов процедуры while( k <= 10 ) do begin number := random( max - (min + 1) + min ) ; // случайные числa write( number, ' ' ); for i := low( arr ) to k do begin if( arr[i] <> number ) then begin if( i = k ) then begin arr[k] := number; k += 1; end; end else break; end; end; filling_array := arr; // возвращаем значение функции end; begin c:= filling_array(1,15); writeln(); for i := low( c ) to high( c ) do write(c[i], ' '); readln(); end.vedro-compota
Sun, 10/10/2021 - 13:02
Permalink
решение засчитано
решение засчитано
_____________
матфак вгу и остальная классика =)