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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.07.2012, 14:51   #1
Silverstone
Пользователь
 
Регистрация: 13.12.2011
Сообщений: 75
По умолчанию

На сборах по подготовке к олимпиаде по физике участвовало всего N учеников из 9,10 и 11х классов. Про каждого известно фамилия, имя, класс, баллы за задачи.
Требуется составить список команд для каждой параллели по 5 человек отобрав тех, у кого больше всего баллов.
----
Помогите сделать формирование команд для каждой параллели. Есть поиск наивысшего балла, но выводится всегда первый ученик...
Код:
Program olimp;
{$R-}
        uses crt;
{ const best=40;}

 type
  zap=record
   fam:string;
   kol:integer;
   class:integer;
  end;

 var
  i,n:byte;
  a:array[1..100] of zap;

 procedure enter;
 begin
 writeln('<<Сбор сведений для составления команды>>');
 writeln('-----------------------------------------');
 write('Введите количество участников (не менее 6): '); readln(n);
  writeln('Необходимы сведения о участниках!');
 for i:=1 to n do
  with a[i] do
  begin
   write('Фамилия участника: '); readln(fam);
   write('Его баллы: '); readln(kol);
   writeln('-----');
  end;
 end;

 procedure search;
 var i,n,s:byte;
 best:byte;
  begin
   best:=a[i].kol;
   for i:=1 to n do
    begin
     if a[i].kol>=best then best:=a[i].kol;
     write('Лучший результат у: ',a[i].fam,'. Его баллы: ',best);
    readln;
  end; end;
 begin
      clrscr;
 enter;
 search;
end.
Как к моему коду применить пузырьковую сортировку?

Последний раз редактировалось Stilet; 01.07.2012 в 18:01.
Silverstone вне форума Ответить с цитированием
Старый 01.07.2012, 17:57   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Например так:
Код:
function GreatThen(q,w:zap);
begin
  GreatThen:=q.kol>w.kol;
end;

procedure sort;
var q,w:integer;z:zap;
begin
 for q:=1 to n do
  for w:=1 to n do
    if GreatThen(a[q],a[w]) then begin
      z:=a[q];a[q]:=a[w];a[w]:=z;
    end;
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.07.2012, 18:11   #3
Silverstone
Пользователь
 
Регистрация: 13.12.2011
Сообщений: 75
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Код:
function GreatThen(q,w:zap);
ругается на месте ; - просит :
Silverstone вне форума Ответить с цитированием
Старый 01.07.2012, 18:34   #4
Leshii
Форумчанин
 
Регистрация: 26.07.2011
Сообщений: 376
По умолчанию

Да и не только двоеточие спросит ...

пример

function zap ( a: real):real;
Люблю на ты.Я человек простой
Leshii вне форума Ответить с цитированием
Старый 01.07.2012, 18:34   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну так дай что просит )
Функция логическая. Допиши сам, я видать забыл.
Цитата:
пример
Это ты здря написал. Запутаешь автора, он и так в потемкиных весь.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разработать формат текстового файла для записи команд построения примитивов... -SG- Помощь студентам 1 04.06.2010 15:44
Список команд W0LF Общие вопросы Delphi 1 18.08.2009 09:28
В PASCAL .Составить список слов начинающихся на конкретную букву Waia Помощь студентам 1 07.11.2008 18:20
список команд кнопок Sanek777 Общие вопросы Delphi 2 11.09.2008 13:41
Список команд delphin100 Общие вопросы Delphi 3 09.11.2007 11:11