Урок 15. Задача 17.
Primary tabs
Дан массив длиной N (где 10≤N В качестве ответа (если отрезок найден) получите его начальный и конечных индекс - m и p ( 1≤m
Указание: Проверку массива на соответствие условиям задачи вынести в подпрограмму (процедуру, которая вычислит нужные индексы, если есть)
Подсказка: можно использовать функцию проверки отрезка в массиве из предыдущей задачи.
type newArr = array [1..100] of integer; var i, m, p, F, F_F, k :integer; Arr_N :newArr; fl :boolean; function random_array(Arr_N :newArr) :newArr; var i, a :integer; begin randomize; a := 10 + random(90); // длина массива for i := 1 to a do begin if i < a then Arr_N[i] := random(100) // инициализация исходного массива else Arr_N[i] := -1; // граница используемых значений end; random_array := Arr_N; end; function count_array(Arr_N :newArr) :integer; var i, j :integer; begin j := 0; for i := low(Arr_N) to high(Arr_N) do begin if Arr_N[i] = -1 then break; j := j + 1; end; count_array := j; end; function segment_array(A_n :newArr; k, F :integer) :boolean; var i, j :integer; fl :boolean; begin fl := false; for i := 0 to k do begin for j := 1 to f do if A_n[j] = i then begin fl := true; break; end; if not fl then break; end; segment_array := fl; end; procedure segment_index(A_n :newArr; k, F, m, p :integer); var i, j :integer; begin for i := 1 to F do for j := 0 to k do if A_n[i] = j then begin if j > m then end; end; begin fl := true; Arr_N := random_array(Arr_N); // массив F := count_array(Arr_N); // количество задействованных элементов массива writeln(F); for i := low(Arr_N) to high(Arr_N) do write(Arr_N[i], ' '); k := F div 8; // конец отрезка //F_F := k + 1; fl := segment_array(Arr_N, k, F); writeln(fl, ' ', k); readln(); end.
- Log in to post comments
- 2779 reads
vedro-compota
Wed, 07/13/2022 - 20:39
Permalink
можно сделать длину массива =
можно сделать длину массива = 15 и решать просто с фиксированной длиной
_____________
матфак вгу и остальная классика =)
Dennis80
Tue, 07/19/2022 - 18:58
Permalink
type newArr = array [1..99]
vedro-compota
Wed, 07/20/2022 - 20:16
Permalink
Основная подпрограмма здесь
Основная подпрограмма здесь скорее всего должна:
_____________
матфак вгу и остальная классика =)
Dennis80
Thu, 07/28/2022 - 18:50
Permalink
type newArr = array [1..99]
vedro-compota
Thu, 07/28/2022 - 20:02
Permalink
Идея: передать в основной
Идея: использовать в основной процедуре ранее написанную (из задачи 16) функцию, которая уметь проверять отрезок (см. предыдущую задачу), передавая ей границы очередного отрезка, который надо проверить
- напр. тут я выделил отрезок f=5 m=2 p=6
_____________
матфак вгу и остальная классика =)
Dennis80
Sun, 08/07/2022 - 14:06
Permalink
type newArr = array [1..99]
vedro-compota
Wed, 08/24/2022 - 19:39
Permalink
Идея: использовать в основной
Идея: использовать в основной процедуре ранее написанную (из задачи 16) функцию, которая уметь проверять отрезок (см. предыдущую задачу, можно целиком без изменений взять функцию num_in() отсюда), передавая ей границы очередного отрезка, который надо проверить
- напр. тут я выделил отрезок f=5 m=2 p=6
_____________
матфак вгу и остальная классика =)
Dennis80
Sun, 09/11/2022 - 09:16
Permalink
type newArr = array [1..99]
vedro-compota
Sun, 09/11/2022 - 14:55
Permalink
засчитано
засчитано
_____________
матфак вгу и остальная классика =)