Урок 15 Задача 17
Primary tabs
Дан массив длиной N (не более 100 элементов). Проверить, что в нем в встречаются все числа от 0 до k, где 0≤k
Указание: Проверку массива на соответствие условиям задачи вынести в подпрограмму (функцию)
type
massiv = array[1..70] of integer;
var
m: massiv;
k, f: integer;
u: boolean;
function prov (m: massiv; h: integer): boolean;
var
i, j: integer;
q: boolean;
begin
for j:=0 to h do // внешний цикл (от 0 до k)
begin
q:= false;
for i:=low(m) to high(m) do // вложенный цикл (сам массив)
if j = m[i] then // если встретилось число
begin
q:=true; // переключаем переключатель
break; // выходим из вложенного цикла
end;
if q = false then // если переключатель не переключился (не встретилось число)
begin
writeln (j); // выводим для наглядности первое число, которое не встретилось
break; // выходим из внешнего цикла
end;
end;
result:= q;
end;
begin
randomize();
for f:=low(m) to high(m) do
begin
m[f] := random(23);
write (m[f], ' ');
end;
writeln;
writeln;
k:= 19;
u:= prov(m, k);
if u = false then
write ('Не все числа от 0 до ', k, ' встречаются в массиве')
else
write ('Все числа от 0 до ', k, ' встречаются в массиве');
readln();
end.Вывод в консоли:
13 11 21 22 5 7 4 21 19 12 12 0 1 18 1 8 0 16 7 0 20 1 0 10 15 17 7 4 8 6 9 15 0 19 15 14 16 5 7 7 2 9 19 14 1 10 11 2 6 12 20 5 9 15 4 16 7 8 5 5 11 17 5 1 12 10 0 6 15 12 3 Не все числа от 0 до 19 встречаются в массиве
7 2 0 21 4 4 15 6 21 19 15 9 8 5 18 9 11 18 2 16 8 12 12 6 3 15 22 3 7 12 1 0 2 16 1 3 16 0 5 15 2 17 1 4 19 5 22 11 13 4 16 4 13 2 1 17 17 22 8 21 13 19 21 16 9 18 17 0 3 4 10 Не все числа от 0 до 19 встречаются в массиве
19 6 15 17 18 7 18 3 17 11 4 22 9 15 13 1 20 13 17 19 0 10 9 2 21 15 1 14 19 20 19 9 16 4 9 10 14 1 13 6 7 1 0 2 5 2 22 10 9 16 11 18 22 12 7 17 8 5 14 13 2 15 13 18 22 11 0 19 2 0 Все числа от 0 до 19 встречаются в массиве
- Log in to post comments
- 514 reads
vedro-compota
Sun, 12/11/2022 - 14:13
Permalink
засчитано
засчитано
_____________
матфак вгу и остальная классика =)