Урок 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
- 290 reads
vedro-compota
Sun, 12/11/2022 - 14:13
Permalink
засчитано
засчитано
_____________
матфак вгу и остальная классика =)