Составить процедуру определяющую, что все элементы одномерного массива упорядочены по убыванию их значений - Pascal
Формулировка задачи:
program rf;
uses crt;
type
mas = array[1..10] of integer;
var
a, b: mas;
i, j, m, n, L: integer;
procedure spasi(l: integer; var c: mas );
var
i, j: integer;
begin
for i := 1 to l do
begin
write('c[', i, ']=');
readln(c[i]);
end;
writeln;
end;
procedure mass_out(L: integer; var c: mas );
var
i: integer;
begin
for i := 1 to L do
begin
write(c[i]:5);
end;
writeln;
end;
procedure Mass_loud(L: integer; var c: mas);
var
i, k: integer;
begin
for i := 1 to L do begin
if c[i]>c[i+1] then
writeln('uporyado4en')
end;
exit;
end;
begin
writeln('net');
clrscr;
write('Vvedite L=');
readln(l);
spasi(L, a);
Mass_out(L, a);
Mass_loud(L, a);
writeln;
spasi(L, b);
Mass_out(L, b);
Mass_loud(L, b);
readln;
end.Решение задачи: «Составить процедуру определяющую, что все элементы одномерного массива упорядочены по убыванию их значений»
textual
Листинг программы
uses crt;
type mas = array[1..10] of integer;
procedure spasi(l: integer; var c: mas; s:char);
var i: integer;
begin
writeln('Введите элементы массива ',s,' целые числа');
for i := 1 to l do
begin
write('c[',i,']=');
readln(c[i]);
end;
end;
procedure mass_out(l: integer; var c: mas; s:char);
var i: integer;
begin
writeln('Массив ',s);
for i := 1 to L do
write(c[i]:5);
writeln;
end;
procedure Mass_loud(L: integer; c: mas);
var i, k: integer;
begin
i:=2;
k:=0;
while(i<=l)and(k=0) do
if c[i]>=c[i-1] then k:=1{строгое убывание, т.е. 5 5 5 это не убывание}
else i:=i+1;
if k=0 then writeln('Массив упорядочен по убыванию')
else writeln('Массив не упорядочен по убыванию');
end;
var a, b: mas;
L: integer;
begin
clrscr;
write('Vvedite L=');
readln(l);
spasi(L, a,'A');
spasi(L, b,'B');
clrscr;
Mass_out(L, a,'A');
Mass_loud(L, a);
writeln;
Mass_out(L, b,'B');
Mass_loud(L, b);
readln;
end.
Объяснение кода листинга программы
- Объявление переменных:
mas: тип одномерного массива целых чисел от 1 до 10.a,b: одномерные массивы.L: переменная типа integer для хранения длины массива.
- Процедура
spasi:- Принимает параметры:
l: длина массива (integer).var c: ссылка на массив (mas).s: символьная метка (char).
- Запрашивает пользователя ввести элементы массива и сохраняет их в массиве
c.
- Принимает параметры:
- Процедура
mass_out:- Принимает параметры:
l: длина массива (integer).var c: ссылка на массив (mas).s: символьная метка (char).
- Выводит на экран элементы массива
cс меткойs.
- Принимает параметры:
- Процедура
Mass_loud:- Принимает параметры:
L: длина массива (integer).c: массив (mas).
- Проверяет, упорядочены ли элементы массива
cпо убыванию. Выводит соответствующее сообщение.
- Принимает параметры:
- Основная часть программы:
- Считывание значения
L. - Заполнение массивов
aиb. - Очистка экрана.
- Вывод элементов массивов
aиb. - Проверка упорядоченности массивов по убыванию.
- Считывание значения