Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 22.10.2017, 15:34   #1
topchik
Новичок
Джуниор
 
Регистрация: 22.10.2017
Сообщений: 2
По умолчанию написать комментарий к каждой строчке в паскале

Код:
const
  maxRandomValue = 10; // рандомное число  0-10
  
type
  tList = ^rList;
  rList = record
    a : Integer;
    n : tList;
  end;
//Функция заполняет список рандомными числами 
function CreateRandomList(n : Integer) : tList;
var
  Cur : tList; 
begin
  if n <= 0 then //если n<=0 то
    CreateRandomList := nil //в данный момент ни на чт оне указывает 
  else
    begin
      New(Cur); //динамич. перемен. 
      Cur^.a := Random(maxRandomValue); //элементу присваем рандомное число 
      CreateRandomList := Cur; //к списку присваиваем значение элемента 
      while n > 1 do //пока n>1 то 
        begin
          New(Cur^.n); //динамич. перемен.
          Cur := Cur^.n; //присваиваем элементов новое значение 
          Cur^.a := Random(maxRandomValue); //присваиваем элементов рандомное чило
          Dec(n); //уменьшаем значение переменной на 1
        end;
      Cur^.n := nil; //в данный момент ни на чт оне указывает
    end;
end;
//Функция делает поиск максимального элемента списка 
function MaxList(a : tList) : Integer;
var
  m : Integer;
begin
  MaxList := 0; // присваиваем значени 0
  if a = nil then Exit; //если a=0 то завершаем процедуру
  
  m := a^.a; // присваиваем значение 
  while a <> nil do
    begin
      if a^.a > m then m := a^.a;
      a := a^.n;
    end;
    
  MaxList := m;
end;
//Процедура дублирует максимальный элемент 
procedure ModificationList(m : Integer; var a : tList);
var
  Cur, Next : tList;
begin
  Cur := a;
  while Cur <> nil do
    if Cur^.a = m then
      begin
        Next := Cur^.n; //динамич. перемен.
        New(Cur^.n); //динамич. перемен.
        Cur := Cur^.n;
        Cur^.a := m;
        Cur^.n := Next;
        Cur := Next;
      end
    else
      Cur := Cur^.n;
end;
  
procedure OutList(a : tList);
var
  Cur : tList;
begin
  if a = nil then WriteLn('<список пуст>')
  else
    begin
      Cur := a;
      while Cur <> nil do
        begin
          Write(#32, Cur^.a);
          Cur := Cur^.n;
        end;
      WriteLn;
    end;
end;
 
var
  n, m : Integer;
  a : tList;
begin
  Randomize;
  Write('Число элементов списка: n = '); ReadLn(n);
  a := CreateRandomList(n);
  Write('Список a:'); OutList(a);
  m := MaxList(a); WriteLn('Максимальное значение = ', m);
  ModificationList(m, a);
  Write('Список a:'); OutList(a);
end.

Последний раз редактировалось Аватар; 22.10.2017 в 15:48.
topchik вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
написать комментарий к каждой строчке topchik Помощь студентам 0 22.10.2017 15:33
Пожалуйста,помогите написать коментарий к каждой строчке. ivan6799 Помощь студентам 1 15.10.2016 19:15
Помогите написать программы на С++. Желательно к каждой команде комментарий. Каждое задание отдельная программа vadres Помощь студентам 0 19.12.2013 18:46
Коментарии к каждой строчке ganster Общие вопросы C/C++ 10 09.07.2012 22:42
К каждой строчке добавляется фраза Dominatorsha Общие вопросы Delphi 1 30.05.2011 16:21