- •Задача 1
- •Задача 2
- •Задача 3.
- •I : integer; { параметр цикла }
- •Задача 4.
- •I : integer; { параметр цикла }
- •Задача 5
- •I : integer; { параметр цикла }
- •Задача 6.
- •I, j : integer; { параметры циклов }
- •Задача 7.
- •Задача 8.
- •I, j : integer; { параметры циклов }
- •Задача 9
- •I : integer; { параметр цикла }
- •Задача 10
Задача 1
const
MAXSIZE = 100;
type
TArray = array[1..MAXSIZE] of integer;
var
n : integer; { количество элементов массива }
i, j : integer; { параметры циклов }
A : TArray; { массив исходных данных }
f : boolean; { флаг, проверки справедливости условия }
k : integer; { кол-во элементов, удовлетворяющих заданным условиям }
Max : integer;
IndMax : Integer;
begin
repeat
write('Введите количество элементов массива, N: ');
readln(n);
until (n > 1) and (n <= MAXSIZE);
writeln('Ввод элементов массива:');
for i:=1 to n do read(A[i]);
writeln;
Max := a[1];
IndMax := 1;
k := 0;
For i := 2 to N do
If a[i] > Max
then begin
Max := a[i];
IndMax := i;
Writeln(' ind = ', IndMax, ' item = ', Max);
inc(k);
end ;
writeln;
end.
Задача 2
const
U_BOUND = 100;
type
TArray = array[1..U_BOUND] of real;
var
n : integer; { количество элементов массива }
A : TArray; { массив исходных данных }
i : integer; { параметр цикла }
i1 : integer; { индекс начала последовательности }
i2 : integer; { индекс конца последовательности }
cnt : integer; { количество элементов в последовательности }
i1max : integer; { индекс начала максимальной последовательности }
i2max : integer; { индекс конца максимальной последовательности }
max : integer; { количество элементов в максимальной последовательности }
begin
repeat
write('Введите количество элементов массива, N: ');
readln(n);
until (n > 1) and (n <= U_BOUND);
writeln('Ввод элементов массива:');
for i:=1 to n do read(A[i]);
writeln;
{ инициализация начальных параметров }
i1 := 1;
max := 0;
for i := 2 to N do begin
if A[i-1] >= A[i] then begin
i2 := i - 1;
cnt := i2 - i1 + 1; { кол-во эл-ов в возрастающей послед. }
if cnt > max then begin
{ запомнить параметры максимальной последовательности }
i1max := i1;
i2max := i2;
max := cnt;
end;
i1 := i; { запомнить начало новой последовательности }
end;
end;
{ проверить последнюю последовательность }
cnt := N - i1 + 1; { кол-во эл-ов в последней возрастающей послед. }
if cnt > max then
begin
{ запомнить параметры максимальной последовательности }
i1max := i1;
i2max := N;
max := cnt;
end;
writeln('Наибольшая возрастающая последовательность:', i1max, ' ',i2max);
for i:=i1max to i2max do write(A[i]:0:2, ' ' );
writeln;
end.
Задача 3.
const
MAX = 99;
type
TArray = array[1..MAX] of integer;
{метод пузырьковой сортировки Arr - массив даннях
n - количество элементов в массиве}
procedure bubble_sort(var Arr : TArray; n : integer);
var
i, j : integer;
tmp : integer;
begin
for i:=1 to n do
for j:=n downto i+1 do
if Arr[j] < Arr[j-1] then
begin
tmp := Arr[j];
Arr[j] := Arr[j-1];
Arr[j-1] := tmp;
end;
end;
var
n : integer; { количество элементов массива }
I : integer; { параметр цикла }
A : TArray; { массив исходных данных }
s : integer; { средний элемент массива }
begin
{ ввод исходных данных }
repeat
write('Введите количество элементов массива, N: ');
readln(n);
until (n > 1) and (n <= MAX) and odd(n);
writeln('Ввод элементов массива:');
for i:=1 to n do read(A[i]);
writeln;
{ отсортировать массив }
bubble_sort(A, n);
{ получить средний элемент отсортированного массива }
s := A[1 + n div 2];
writeln('Средний элемент равен ', s);
end.