Задача 17 Урок 15
Primary tabs
Дан массив длиной N (не более 100 элементов). Указание: Проверку массива на соответствие условиям
Проверить, что в нем в встречаются все числа от 0 до k, где 0≤k
задачи вынести в подпрограмму (функцию) type
arr1 = array [1..100] of integer;
var
min, max, i, j, k : integer;
a : arr1;
function function1 (k : integer) : boolean;
var
s : string;
begin
for i := 0 to k do
begin
for j := 1 to high(a) do
if i = a[j] then
begin
result := true;
break;
end
else
begin
result := false;
end;
if result = false then
break;
end;
end;
begin
randomize();
min := 0;
max := 100;
for i := low(a) to high(a) do
a[i] := min + random(max - min + 1);
writeln('Введите число');
readln(k);
if function1(k) = true then
write('Встречаются все')
else
write('Встречаются не все');
writeln;
for i := low(a) to high(a) do
write(a[i], ' ');
writeln;
write('Программа завершила свою работу');
readln();readln();
end.
- Log in to post comments
- 1448 reads
vedro-compota
Wed, 06/21/2023 - 19:51
Permalink
замечания:
замечания:
type arr1 = array [1..100] of integer; var min, max, i, j, k: integer; a: arr1; function function1(k :integer): boolean; var s : string; begin for i := 0 to k do begin for j := 1 to high(a) do // уйти от привязки к глобальной переменной if i = a[j] then begin result := true; break; end else result := false; // зачем каждый выставлять в false? if result = false then break; end; end; begin randomize(); min := 0; max := 100; for i := low(a) to high(a) do a[i] := min + random(max - min + 1); writeln('Введите число'); readln(k); if (function1(k)) then // не оптимально, не информатирвное имя write('Встречаются все') else write('Встречаются не все'); writeln; for i := low(a) to high(a) do write(a[i], ' '); writeln(); write('Программа завершила свою работу'); readln();readln(); end._____________
матфак вгу и остальная классика =)
piliugin
Mon, 07/10/2023 - 19:08
Permalink
Исправил
type arr1 = array [1..100] of integer; var min, max, i, j, k: integer; a: arr1; function searchNum(k: integer; a: arr1): boolean; var s : string; begin for i := 0 to k do begin result := false; for j := 1 to high(a) do if i = a[j] then begin result := true; break; end; if result = false then break; end; end; begin randomize(); min := 0; max := 10; for i := low(a) to high(a) do a[i] := min + random(max - min + 1); writeln('Введите число'); readln(k); if (searchNum(k, a)) then write('Встречаются все') else write('Встречаются не все'); writeln; for i := low(a) to high(a) do write(a[i], ' '); writeln(); write('Программа завершила свою работу'); readln();readln(); end.vedro-compota
Wed, 07/12/2023 - 20:27
Permalink
засчитано
засчитано
_____________
матфак вгу и остальная классика =)