Задача 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 < 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(var arr:b; min, max : integer ) : b;
var count, i, 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, ' ' );
for i := low( arr ) to k do
if( arr[i] <> number ) then
begin
count += 1;
k += 1;
arr[count] := number;
break;
end
else
break;
end;
filling_array := arr; // возвращаем значение функции
end;
begin
end. - Log in to post comments
- 571 reads