Одномерный массив

  • Автор темы xenox
  • Дата начала
Статус
Закрыто для дальнейших ответов.
X

xenox

#1
Здравствуйте!
Условие задачи:
Дана последовательность действительных чисел A1,A2,...An.Выяснить будет ли она возрастающей.
И эту задачу надо сделать через функцию.
Есть решение обычное не через функцию:
Код:
Program posled;
const
n=10;
var
i:integer;
k:byte;
a:array[q..n] of integer;
begin
randomize;
for i:=1 to n do
begin
a[i]:=random(100);
writeln(a[i]);
end;
for i:=1 to n-1 do
if a[i]<a[i+1] then
k:=k+1;
if k=n-1 then
writeln('Возрастаеющая') else
writeln('Не возрастающая')
End.
Можете сделать эту задачу через функцию, буду очень благодарен)
 
D

DIR3ct0r

#2
Код:
Program posled;
const
n=10;
type 
m = array[1..n] of integer;

function Check(arr: m): Boolean;
var i, k: integer;
begin
k:= 0;
for i:=1 to n - 1 do
if arr[i] < arr[i + 1] then Inc(k);
Result:= k = n-1;
end;

var
i:integer;
a: m;
begin
randomize;
for i:=1 to n do
begin
a[i]:=random(100);
writeln(a[i]);
end;
if Check(a) then writeln('Возрастаеющая') 
else writeln('Не возрастающая')
End.
 
R

~RedFox~

#3
Оригинальная задача. Интересно, какова вероятность вообще получить последовательность из 10 возрастающих чисел, путем их случайного выбора в диапазоне 0..100? :)
 
D

DIR3ct0r

#4
В условии задачи не сказано, что они последовательность выбирается случайным образом.
 
S

S-haman

#5
паскаля под рукой нету по этому могут быть небольшие неточности яб код сделал так
const l=10;
var arr:array[0..10] of integer;
function Check(n:integer): Boolean;//n-длинна массива arr- имя массива по которому будет проверка
var i: integer;
res,b:bool;
begin
b=true;
i:=0
repeat
if arr < arr[i + 1] then b:=true
else b:=false;
res:=b;
i:=i+1;
if i=n+1 then b:=false
until b=false
Result:= res;
end;
var i:integer;
b:bool;
begin
randomize;
for i:=0 to l do
arr:=random(100);
b:=chek(l);
if b then
writeln('Последовательность чисел возрастающяя')
else
writeln('Последовательность чисел не возрастающяя');
end.
 
Статус
Закрыто для дальнейших ответов.