Задача 1 Урок 23
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 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;Что делает эта функция? (добавьте текстовое описание)
В данной функции есть лишние переменные, перепишите код так, чтобы они не использовались.
Функция заполняет массив из 10 элементов случайными несовпадающими числами.
При этом печатает каждое число, претендующее на место в массиве.
Лишние переменные:j,l,k,min}
type b = array[1..10] of integer; // объявление типа var a:b; i:integer; function filling_array( max : integer ) : b; var count, i, number : integer; arr : b; begin count:=1; randomize; // вызов процедуры while( count <= 10 ) do begin number := random( max - 1 ) ; // получится, если раскрыть скобки в random( max - (min + 1) + min ) write( number, ' ' ); for i:=low(arr) to count do if arr[i]=number then break else if count=i then begin arr[count]:=number; count+=1; end; end; result:=arr; end; begin filling_array(5,15); readln(); end.
- Log in to post comments
- 79 reads