Задание 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
- 623 reads