Const n=20;
var a:array[1..n] of integer;
i,k,m:integer;
begin
Randomize;
writeln('Массив A:');
for i:=1 to n do
begin
a[i]:=random(51);
write(a[i]:3);
end;
writeln;
k:=0; m:=0;
for i:=1 to n-1 do
begin
if a[i+1]>a[i] then begin m:=m+1; end
else begin if m>0 then k:=k+1; m:=0; end;
end;
if m>0 then k:=k+1;
writeln('k = ',k);
end.
Пример:
Массив A:
7 30 22 0 17 4 2 32 39 26 23 41 1 38 47 21 38 31 43 7
k = 7
Изображения нет, но я могу объяснить как решать такой тип задач.
Здесь применяется теория графов. Если не углубляться, то там всё предельно ясно и просто.
Нужно изобразить граф: рисуем по кругу точки (вершины графа), называем их (можно не просто точки рисовать, а кружки и в кружках букву населенного пункта писать). Потом соединяем между собой точки у которых есть связь и подписываем "вес" (расстояние между населенными пунктами) этого пути. Визуально может не соответствовать длинна, но для нас потом главное просчитать какой из возможных путей наберет наибольший "вес".
Если что-то непонятно, спросите в комментариях.
Код Pascal:
Var
P:byte;
Begin
Write('Введите рост человека: ');ReadLn(P);
if P > 180 then WriteLn('Высокий')
else WriteLn('Не очень высокий')
End.
Пример работы программы:
Введите рост человека: 150
Не очень высокий
Содержание
Указатель
Поиск
<span>uses crt;
const nmax=100;
var x:array[1..nmax] of integer;
n,m,i,j,k,a,p:integer;
begin
clrscr;
randomize;
repeat
write('Размер массива от 2 до ',nmax,' n=');
readln(n);
until n in [2..nmax];
writeln('Исходный массив:');
for i:=1 to n do
begin
x[i]:=random(10);
write(x[i]:4);
end;
writeln;
i:=1;
m:=n;
while i<n-1 do
begin
k:=1;
a:=x[i];
for j:=n downto i+1 do
if x[j]=a then k:=k+1;
if k>2 then
begin
j:=i;
while j<=n do
if x[j]=a then
begin
if j=n then n:=n-1
else
begin
for p:=j to n-1 do
x[p]:=x[p+1];
n:=n-1;
end;
end
else j:=j+1;
end
else i:=i+1;
end;
if n=0 then
begin
exit
end;
if n=m then
write('Все элементы встречены не более 2 раз и не удалены')
else
begin
for i:=1 to n do
write(x[i]:4);
for i:=1 to n-1 do
for j:=i+1 to n do
if(i mod 2=0)and(j mod 2=0) and(x[i]<x[j]) then
begin
a:=x[i];
x[i]:=x[j];
x[j]:=a;
end;
for i:=1 to n do
write(x[i]:4);
end;</span>