Составить процедуру определяющую, что все элементы одномерного массива упорядочены по убыванию их значений - 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.
На основе этой программы решите задачу.Составить процедуру определяющую что все элементы одномерного массива упорядочены по убыванию их значений. Используя это процедуру для массива a(n) b(m) . В противном случае вывести сообщение ''не упорядочен''

Решение задачи: «Составить процедуру определяющую, что все элементы одномерного массива упорядочены по убыванию их значений»

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.

Объяснение кода листинга программы

  1. Объявление переменных:
    • mas: тип одномерного массива целых чисел от 1 до 10.
    • a, b: одномерные массивы.
    • L: переменная типа integer для хранения длины массива.
  2. Процедура spasi:
    • Принимает параметры:
      • l: длина массива (integer).
      • var c: ссылка на массив (mas).
      • s: символьная метка (char).
    • Запрашивает пользователя ввести элементы массива и сохраняет их в массиве c.
  3. Процедура mass_out:
    • Принимает параметры:
      • l: длина массива (integer).
      • var c: ссылка на массив (mas).
      • s: символьная метка (char).
    • Выводит на экран элементы массива c с меткой s.
  4. Процедура Mass_loud:
    • Принимает параметры:
      • L: длина массива (integer).
      • c: массив (mas).
    • Проверяет, упорядочены ли элементы массива c по убыванию. Выводит соответствующее сообщение.
  5. Основная часть программы:
    • Считывание значения L.
    • Заполнение массивов a и b.
    • Очистка экрана.
    • Вывод элементов массивов a и b.
    • Проверка упорядоченности массивов по убыванию.

Оцени полезность:

13   голосов , оценка 3.923 из 5
Похожие ответы