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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.12.2008, 14:44   #1
Liver
Пользователь
 
Регистрация: 09.12.2008
Сообщений: 10
По умолчанию Найти линейным поиском с барьером фамилию спортсмена показавшего результат 5 часов.

Результаты соревнований по морофону представлены списком фамилий и массивом результатов. Всего 25 участников. Найти линейным поиском с барьером фамилию спортсмена показавшего результат 5 часов.
Liver вне форума Ответить с цитированием
Старый 21.12.2008, 14:53   #2
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Цитата:
Сообщение от Liver Посмотреть сообщение
Результаты соревнований по морофону представлены списком фамилий и массивом результатов. Всего 25 участников. Найти линейным поиском с барьером фамилию спортсмена показавшего результат 5 часов.
Код:
uses crt;
const n=100;
var a:array[1..n] of real;
    Surname:array[1..n] of string[20];
    i,j,x:integer;
    t:string;
    temp:real;

procedure Find;
var i,l,r:integer;
begin
l:=1;r:=x;
repeat
i:=(r-l) div 2 +l;
if a[i]<5 then l:=i;
if a[i]>5 then r:=i;
if a[i]=5 then writeln(Surname[i]);
until (l=r)or(a[i]=5);

end;

begin
x:=0;
repeat
inc(x);
clrscr;
writeln('Input surname');
readln(Surname[x]);
writeln('Input result');
readln(a[x]);
if x<>n then writeln('Continue(y/n)?')
until (readkey='n')or(x=n);
  for i:=2 to x do
    for j:=x downto i do
      if a[j-1]>a[j] then
        begin
          Temp:=a[j-1];
          t:=Surname[j-1];
          a[j-1]:=a[j];
          Surname[j-1]:=Surname[j];
          a[j]:=temp;
          Surname[j]:=t;
        end;
writeln('---------------');
Find;

end.

P.S. Недавно видел задачу(не помню кто автор) - тоже самое только 4 часа
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрос с условием отбора [Введите фамилию] spets Microsoft Office Access 9 21.01.2014 02:02
как прочитать из файла имя, фамилию разделенные пробелами и записать их в массив парами Rom@shka Общие вопросы C/C++ 2 13.12.2008 16:40
теория игр.нужно найти наилуяший результат при наихудших событиях naked Microsoft Office Excel 2 07.05.2008 11:33
Иконка у часов Lonix Безопасность, Шифрование 4 03.04.2007 22:49