Задание 15 Урок 15
Primary tabs
Задание 15 Урок 15
Дан массив длиной N (не более 100 элементов). Проверить, что в этом массиве на отрезке индексов от m до p ( 1≤m
type arr_d = array of integer;
arr = array[1..50] of integer;
var first_array : arr;
second_array : arr_d;
m,p,k,n : integer;
function initialization_array(f_array: arr): arr;
var i : integer;
begin
for i := low(f_array) to high(f_array) do
f_array[i] := i;
result := f_array;
end;
function initialization_array_d(s_array: arr_d): arr_d;
var y : integer;
begin
for y := low(s_array) to high(s_array) do
s_array[y] := y;
result := s_array;
end;
procedure check_k(n: integer; var k: integer);
var l : integer;
begin
l := 0;
repeat
if (k >= n) or (k < 0)then
begin
write('Введите корректное значение K!');
readln(k);
end
else
l += 1;
until l > 1;
end;
procedure check_m(p: integer; var m: integer);
var t : integer;
begin
t := 0;
repeat
if (m >= p) or (m < 1) then
begin
write('Введите корректное значение M!');
readln();
end
else
t += 1;
until t > 1;
end;
procedure check_p(n,m: integer; var p: integer);
var b : integer;
begin
b := 0;
repeat
if (p <= m) or (p > N)then
begin
write('Введите корректное значение P!');
readln();
end
else
b += 1;
until b > 1;
end;
procedure check_availability(f_array: arr;s_array: arr_d; m,p: integer);
var c,z : integer;
begin
for z := low(s_array) to high(s_array) do
for c := m to p do
if s_array[z] = f_array[c] then
break
else
if (s_array[z] <> f_array[c]) and (c = p) then
writeln('Число ', s_array[z],' в отрезке ',m,'-',p,' отсутствует!');
end;
procedure print(f_array: arr);
var z : integer;
begin
for z := low(f_array) to high(f_array) do
write('|', f_array[z], '|');
end;
begin
n := 50;
first_array := initialization_array(first_array);
write('Введите K : ');
readln(k);
check_k(n,k);
setlength(second_array,k+1);
second_array := initialization_array_d(second_array);
writeln('Ввведит M и P (1<=M<P<=N)');
readln(m,p);
check_p(n,m,p);
check_m(p,m);
print(first_array);
writeln();
check_availability(first_array,second_array,m,p);
readln();
end.консоль
Введите K : 20 Ввведит M и P (1<=M<P<=N) 5 30 |1||2||3||4||5||6||7||8||9||10||11||12||13||14||15||16||17| |18||19||20||21||22||23||24||25||26||27||28||29||30||31| |32||33||34||35||36||37||38||39||40||41||42||43||44||45| |46||47||48||49||50| Число 0 в отрезке 5-30 отсутствует! Число 1 в отрезке 5-30 отсутствует! Число 2 в отрезке 5-30 отсутствует! Число 3 в отрезке 5-30 отсутствует! Число 4 в отрезке 5-30 отсутствует!
Введите K : 5 Ввведит M и P (1<=M<P<=N) 1 10 |1||2||3||4||5||6||7||8||9||10||11||12||13||14||15||16||17| |18||19||20||21||22||23||24||25||26||27||28||29||30||31| |32||33||34||35||36||37||38||39||40||41||42||43||44||45| |46||47||48||49||50| Число 0 в отрезке 1-10 отсутствует!
- Log in to post comments
- 981 reads