Урок 15. Задача №12. Проверить что в массиве встречаются все числа из диапазона, интервала - Решение
Primary tabs
Дан массив длиной N (не более 100 элементов). Проверить, что в нем в встречаются все числа от 0 до k, где 0 < k < N
Program LessonPascal;
{}
type
IntArr = array of integer;
function FillArray(other_arr: IntArr; max: integer): IntArr;
var i: integer;
begin
randomize();
for i := 0 to length(other_arr) - 1 do
other_arr[i] := random(max + 1);
result := other_arr;
end;
procedure ShowArray(show_arr: IntArr);
var i: integer;
begin
write('arr = ');
for i := 0 to length(show_arr) - 1 do
write('|', show_arr[i], '|', ' ');
writeln();
end;
function checkHitinArray(check_arr: IntArr; value: integer): boolean;
var arr_for_value: array of integer;
i, j, hit_counter: integer;
checkd: boolean;
begin
SetLength(arr_for_value, value);
for i := 0 to value do
arr_for_value[i] := i;
for i := 0 to value do
begin
for j := 0 to length(check_arr) - 1 do
begin
if(arr_for_value[i] = check_arr[j])then
begin
hit_counter += 1;
break;
end;
end;
end;
if(hit_counter > value)then
checkd := true
else
checkd := false;
result := checkd;
end;
var arr: IntArr;
max_value, length_int_arr: integer;
begin
write('Enter maximum element value for an array = ');
readln(max_value);
write('Enter length of array = ');
readln(length_int_arr);
SetLength(arr, length_int_arr);
arr := FillArray(arr, max_value);
writeln();
ShowArray(arr);
writeln();
if(checkHitinArray(arr, max_value))then
writeln('Found all the numbers in array!')
else
writeln('Not found the numbers in array!');
readln(); // Удержание консоль
end.// Завершение программы - Log in to post comments
- 2414 reads
vedro-compota
Sun, 10/18/2020 - 21:45
Permalink
hit_counter += 1;
-- лишняя переменная.
Решение засчитано
_____________
матфак вгу и остальная классика =)
vedro-compota
Sun, 10/18/2020 - 21:55
Permalink
FillArray() не должна
FillArray() не должна принимать на вход массив
_____________
матфак вгу и остальная классика =)