Задача 19 Урок 15
Primary tabs
Дан массив длиной N (где 10≤N В качестве ответа (если отрезок найден) получите его начальный и конечных индекс - m и p ( 1≤m
Указание: Проверку массива на соответствие условиям задачи вынести в подпрограмму (процедуру, которая вычислит нужные индексы, если есть)
Подсказка: можно использовать функцию проверки отрезка в массиве из предыдущей задачи.
program u15z19; type massiv = array[1..100] of integer; var m: massiv; k,i,x,f,p,t,q: integer; function f1 (m: massiv; a,b,c: integer): integer; var z,j,q: integer; begin for j:=1 to a do begin q:=0; for z:=b to c do //проверка на отрезке begin if j=m[z] then q:=1; end; if q=0 then //если не встретили число то выходим break; end; result:=q; end; procedure p1(var t,p,q,k,f :integer; m:massiv); var i :integer; begin t := 1; p := f; for i := low(m) to (high(m) - f) do begin q := f1(m,k,t,p); if q=1 then begin writeln('m = ', t, ' ', 'p = ', p); break; end else begin t := t + 1; p := p + 1; end; end; end; begin randomize(); for i:=low(m) to high(m) do begin m[i] := random(100)+1; write (m[i], ' '); end; q:=1; writeln; writeln('Vvedite k'); readln(k); writeln('Vvedite F'); readln(f); p1(t,p,q,k,f,m); if q=0 then write ('No'); readln(); end.
- Log in to post comments
- 306 reads