Программа


PROGRAM Football_Champion;
USES CRT;  { Подключение модуля CRT }
CONST n=10; { Количество команд }
TYPE ResultType=array[1..n,0..n+1] of integer; { Тип - таблицы чемпионата
       с номерами команд в первых ячейках строк и суммой в последней ячейке }
VAR Result:ResultType; { Результаты чемпионата }
PROCEDURE GetResult (var B:ResultType); { Процедура ввода матрицы }
  Var i,j:word;  { Счетчики }
  Begin
    Randomize; { Инициализация ГСЧ }
    for i:=1 to n do { Цикл ввода строк матрицы }
    begin
      B[i,0]:=i; { Запись номера команды }
      B[i,n+1]:=0;  { Сброс суммы очков команды }
      for j:=1 to n do { Цикл ввода элементов матрицы }
      begin
        if i=j
        then B[i,j]:=0 { Определение диагональных элементов }
        else if Random(3)=0 { Определение результата }
             then B[i,j]:=3
             else if Random(2)=0
                  then B[i,j]:=1
                  else B[i,j]:=0;
        B[i,n+1]:=B[i,n+1]+B[i,j] { Набор суммы очков команды }
      end
    end
  End;
PROCEDURE OutResult (B:ResultType); { Процедура вывода матрицы }
  Var i,j:word;   { Счетчики }
  Begin
    for i:=1 to n do { Цикл вывода строк матрицы }
      begin
        Write(B[i,0]:2,'    '); { Вывод номера команды }
        for j:=1 to n do { Цикл вывода элементов матрицы }
          Write (B[i,j],' ');  { Вывод элемента матрицы }
        WriteLn('  ',B[i,n+1]:3)  { Вывод суммы очков команды и конца строки }
      end
  End;
PROCEDURE Sort(var B:ResultType);
  Var i,j:word;
      NumBestLine:word; { Номер строки с наибольшей суммой очков }
      Buf:integer; { Временная переменная для переноса элементов матрицы }
  Begin
    for i:=1 to n-1 do { Цикл сортировки }
    begin
      NumBestLine:=i;
      { Определение лучшей из оставшихся строк номером текущей строки }
      for j:=i+1 to n do  { Цикл просмотра оставшейся цасти таблицы }
        if B[NumBestLine,n+1]<B[j,n+1] { Если текущая строка лучше "лучшей" }
          then NumBestLine:=j;         { то - переопределение лучшей }
      if NumBestLine<>i { Если текущая строка не является лучшей }
        then for j:=0 to n+1 do { то - перестановка строк }
             begin
               { Перестановка элемента строки: }
               Buf:=B[i,j];
               B[i,j]:=B[NumBestLine,j];
               B[NumBestLine,j]:=Buf
             end
    end
  End;
BEGIN
  ClrScr; { Очистка экрана }
  GetResult(Result); { Создание таблицы чемпионата }
  WriteLn('Исходная таблица чемпионата'); { Вывод заголовка }
  OutResult(Result); { Вывод таблицы чемпионата }
  Sort(Result);    { Сортировка строк }
  WriteLn;  { Пропуск строки }
  WriteLn('Рейтинговая таблица чемпионата'); { Вывод заголовка }
  OutResult(Result); { Вывод таблицы чемпионата }
END.


ПРОГРАММА

  ***************
 *               *
 *    П У С К    *
 *               *
  ***************
         :
         :
 *****************
 *               *
 *               *
 *    ClrScr     *
 *               *
 *               *
 *****************
         :
         :
 *****************
 * *           * *
 * *           * *
 * * GetResult * *
 * *           * *
 * *           * *
 *****************
         :
         :
   *****************

  *  'Исходная    *
      таблица
 *  чемпионата'  *

*****************
         :
         :
 *****************
 * *           * *
 * *           * *
 * * OutResult * *
 * *           * *
 * *           * *
 *****************
         :
         :
 *****************
 * *           * *
 * *           * *
 * *   Sort    * *
 * *           * *
 * *           * *
 *****************
         :
         :
   *****************

  * 'Рейтинговая  *
      таблица
 *  чемпионата'  *

*****************
         :
         :
 *****************
 * *           * *
 * *           * *
 * * OutResult * *
 * *           * *
 * *           * *
 *****************
         :
         :
  ***************
 *               *
 *   К О Н Е Ц   *
 *               *
  ***************


GetResult

  ***************
 *               *
 *    П У С К    *
 *               *
  ***************
         :
         :
 *****************
 *               *
 *               *
 *   Randomize   *
 *               *
 *               *
 *****************
         :
         :∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙.
         :                                                                :
    ***********                                                           :
   *           *                                                          :
  *             *                                                         :
 *    i=1..n     *∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙.            :
  *             *                                            :            :
   *           *                                             :            :
    ***********                                              :            :
         :                                                   :            :
         :                                           *****************    :
         :                                           *               *    :
         :                                           *   B[i,0]:=i   *    :
         :                                           *               *    :
         :                                           *  B[i,n+1]:=0  *    :
         :                                           *               *    :
         :                                           *****************    :
         :                                                   :            :
         : .∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙:            :
         : :                                                 :            :
         : :                                            ***********       :
         : :                                           *           *      :
         : :                                          *             *     :
         : :                                    .∙∙∙∙*    j=1..n     *    :
         : :                                    :     *             *     :
         : :                                    :      *           *      :
         : :                                    :       ***********       :
         : :                                    *            :            :
         : :                                  *   *          :            :
         : :                                *       *        `∙∙∙∙∙∙∙∙∙∙∙∙'
         : :                         Нет  *           *  Да
         : :                    .∙∙∙∙∙∙∙*      i=j      *∙∙∙∙∙∙∙∙.
         : :                    :         *           *          :
         : :                    :           *       *            :
         : :                    :             *   *              :
         : :                    *               *        *****************
         : :                  *   *                      *               *
         : :                *       *                    *               *
         : :         Да   *           *   Нет            *   B[i,j]:=0   *
         : :         .∙∙*  Random(3)=0  *∙∙∙.            *               *
         : :         :    *           *     :            *               *
         : :         :      *       *       :            *****************
         : :         :        *   *         :                    :
         : :         :          *           :                    :
         : :         :                      :                    :
         : :         :                      *                    :
         : : *****************            *   *                  :
         : : *               *          *       *                :
         : : *               *   Да   *           *   Нет        :
         : : *   B[i,j]:=3   *   .∙∙*  Random(2)=0  *∙∙.         :
         : : *               *   :    *           *    :         :
         : : *               *   :      *       *      :         :
         : : *****************   :        *   *        :         :
         : :         :           :          *          :         :
         : :         :           :                     :         :
         : :         :           :                     :         :
         : :         :   *****************     ***************** :
         : :         :   *               *     *               * :
         : :         :   *               *     *               * :
         : :         :   *   B[i,j]:=1   *     *   B[i,j]:=0   * :
         : :         :   *               *     *               * :
         : :         :   *               *     *               * :
         : :         :   *****************     ***************** :
         : :         :           :                     :         :
         : :         :           `∙∙∙∙∙∙∙∙∙∙.∙∙∙∙∙∙<∙∙∙'         :
         : :         :                      :                    :
         : :         `∙∙∙∙∙∙∙∙∙∙.∙∙∙∙∙∙∙∙∙∙∙'                    :
         : :                    :                                :
         : :                    `∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙.∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙'
         : :                                     :
         : :                                     :
         : :                             *****************
         : :                             *               *
         : :                             *   B[i,n+1]:=  *
         : :                             *               *
         : :                             *B[i,n+1]+B[i,j]*
         : :                             *               *
         : :                             *****************
         : :                                     :
         : `∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙'
         :
         :
         :
  ***************
 *               *
 *   К О Н Е Ц   *
 *               *
  ***************


OutResult

  ***************
 *               *
 *    П У С К    *
 *               *
  ***************
         :
         :
         :∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙.
         :                                                         :
    ***********                                                    :
   *           *                                                   :
  *             *                                                  :
 *    i=1..n     *∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙.                   :
  *             *                              :                   :
   *           *                               :                   :
    ***********                                :                   :
         :                                     :                   :
         :                               *****************         :
         :                                                         :
         :                              *               *          :
         :                                  B[i,0]                 :
         :                             *               *           :
         :                                                         :
         :                            *****************            :
         :                                     :                   :
         :      .∙∙∙∙∙∙∙∙∙∙>∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙:                   :
         :      :                              :                   :
         :      :                         ***********              :
         :      :                        *           *             :
         :      :                       *             *            :
         :      :          .∙∙∙∙∙∙∙∙∙∙∙*    j=1..n     *           :
         :      :          :            *             *            :
         :      :          :             *           *             :
         :      :          :              ***********              :
         :      :          :                   :                   :
         :      :          :                   :                   :
         :      :    *****************   *****************         :
         :      :                                                  :
         :      :   *               *   *               *          :
         :      :       B[i,j]              B[i,n+1]               :
         :      :  *               *   *               *           :
         :      :                                                  :
         :      : *****************   *****************            :
         :      :          :                   :                   :
         :      `∙∙∙∙∙∙∙∙∙∙'                   `∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙'
         :
  ***************
 *               *
 *   К О Н Е Ц   *
 *               *
  ***************

Sort

  ***************
 *               *
 *    П У С К    *
 *               *
  ***************
         :
         :
         :∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙.
         :                                                                     :
    ***********                                                                :
   *           *                                                               :
  *             *                                                              :
 *   i=1..(n-1)  *∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙.                               :
  *             *                              :                               :
   *           *                               :                               :
    ***********                                :                               :
         :                             *****************                       :
         :                             *               *                       :
         :                             *               *                       :
         :                             * NumBestLine:=i*                       :
         :                             *               *                       :
         :                             *               *                       :
         :                             *****************                       :
         :                                     :                               :
         :                                     :                               :
         : .∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙>∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙:                               :
         : :                                   :                               :
         : :                              ***********                          :
         : :                             *           *                         :
         : :                            *             *                        :
         : :          .∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙*  j=(i+1)..n   *                       :
         : :          :                 *             *                        :
         : :          :                  *           *                         :
         : :          :                   ***********                          :
         : :          :                        :                               :
         : :          :                        :                               :
         : :          :                        `∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙.             :
         : :          *                                          :             :
         : :        *   *  B[NumBestLine,n+1]                    :             :
         : :      *       *    <B[j,n+1]                         :             :
         : :    *           *                                    :             :
         : :  *               *∙∙∙∙∙∙∙∙∙∙∙.                      :             :
         : :    *           *             :                      :             :
         : :      *       *       *****************              *             :
         : :        *   *         *               *            *   *           :
         : :          *           *               *          *       *         :
         : :          :           * NumBestLine:=j*   Да   *           *  Нет  :
         : :          :           *               *   .∙∙*  NumBestLine  *∙∙.  :
         : :          :           *               *   :    *    <>i    *    :  :
         : :          :           *****************   :      *       *      :  :
         : :          :                   :           :        *   *        :  :
         : :          `∙∙∙∙∙∙∙∙∙.∙∙∙∙<∙∙∙∙'           :          *          :  :
         : :                    :                     :                     :  :
         : `∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙'                     :                     :  :
         :                                            :                     :  :
         :                   .∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙:                     :  :
         :                   :                        :                     :  :
         :                   :                   ***********                :  :
         :                   :                  *           *               :  :
         :                   :                 *             *              :  :
         :                   :           .∙∙∙∙*   j=0..(n+1)  *             :  :
         :                   :           :     *             *              :  :
         :                   :           :      *           *               :  :
         :                   :           :       ***********                :  :
         :                   :           :            :                     :  :
         :                   :   *****************    :                     :  :
         :                   :   *               *    `∙∙∙∙∙∙∙∙∙∙.∙∙∙∙∙∙<∙∙∙'  :
         :                   :   *               *               :             :
         :                   :   * NumBestLine:=j*               :             :
         :                   :   *               *               `∙∙∙∙∙∙∙∙∙∙∙∙∙'
  ***************            :   *               *
 *               *           :   *****************
 *   К О Н Е Ц   *           :           :
 *               *           `∙∙∙∙∙∙<∙∙∙∙'
  ***************

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