Программа


CONST QuantityElement=6;   { Количество элементов вектора }
TYPE ElementType=integer;  { Тип элементов вектора }
     VectorType=array [1..QuantityElement] of ElementType; { Вектор-тип }
VAR Vector:VectorType; { Вектор }

FUNCTION GetMinElementVector (B:VectorType):ElementType;
                              { Функция поиска минимального элемента вектора }
  Var i:word; { Счетчик }
      Min:ElementType;  { Буфер минимального элемента }
  Begin
    Min:=B[1];  { Начальное определение минимального элемента }
    for i:=1 to QuantityElement do { Цикл просмотра элементов вектора }
      if B[i]<Min then Min:=B[i]; { Если текущий элемент
                      меньше минимального, то - переопределение минимального }
    GetMinElementVector:=Min  { Определение значения функции }
  End;

FUNCTION GetMaxElementVector (B:VectorType):ElementType;
                              { Функция поиска максимального элемента вектора }
  Var i:word; { Счетчик }
      Max:ElementType;  { Буфер максимального элемента }
  Begin
    Max:=B[1];  { Начальное определение максимального элемента }
    for i:=1 to QuantityElement do { Цикл просмотра элементов вектора }
      if B[i]>Max then Max:=B[i]; { Если текущий элемент
                    больше максимального, то - переопределение максимального }
    GetMaxElementVector:=Max  { Определение значения функции }
  End;

PROCEDURE InputVector (var B:VectorType); { Процедура ввода вектора }
  Var i:word; { Счетчик }
  Begin
     Randomize;
    for i:=1 to QuantityElement do { Цикл ввода элементов вектора }
      begin
{        Write('Введите элемент [',i,'] ');
                                 { Вывод приглашения ввести элемент вектора }
 {       ReadLn(B[i]);   { Ввод элемента вектора }
       B[i]:=Integer(5)-Random(10)
      end
  End;
PROCEDURE SortVector (var B:VectorType);
                              { Процедура сортировки вектора по убыванию }
  Var i,j:word;   { Счетчики }
      NumOfMax:word;
       { Номер максимального элемента в неотсортированной части массива }
      Buf:ElementType; { Переменная для обмена содержимого ячеек массива }
  Begin
    for i:=1 to QuantityElement-1 do
      begin
        NumOfMax:=i;
        for j:=i+1 to QuantityElement do
          if B[NumOfMax]<B[j] then NumOfMax:=j;
        if NumOfMax<>i then begin
                              Buf:=B[NumOfMax];
                              B[NumOfMax]:=B[i];
                              B[i]:=Buf
                            end
      end
  End;

PROCEDURE OutputVector (B:VectorType); { Процедура вывода вектора }
  Var i:word;   { Счетчик }
  Begin
    for i:=1 to QuantityElement do { Цикл вывода вектора }
      Write (B[i],'  ');  { Вывод элемента вектора }
    WriteLn  { Вывод конца строки }
  End;

PROCEDURE ProcessVector (B:VectorType); { Процедура просмотра вектора }
  Var i:word;   { Счетчик }
  Begin
    for i:=1 to QuantityElement do { Цикл просмотра вектора }
  End;

BEGIN
  WriteLn; { Пропуск строки }
  InputVector(Vector); { Ввод вектора }
  WriteLn; { Пропуск строки }
  WriteLn(' Вектор: ');  { Вывод заголовка }
  OutputVector(Vector); { Вывод вектора }
  SortVector(Vector); { Сортировка вектора }
  OutputVector(Vector); { Вывод вектора }
  WriteLn; { Пропуск строки }
  WriteLn('Min=',GetMinElementVector(Vector),
        '  Max=',GetMaxElementVector(Vector));
         { Получение и вывод минимального и максимального элементов вектора }
END.

Бесплатные примеры программ
Примеры написанных программ
Помощь студентам по программированию