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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.04.2009, 11:27   #1
stasig
Пользователь
 
Регистрация: 04.11.2008
Сообщений: 31
По умолчанию Решить задачку нужно на Делфи.

В массиве часов и минут Вывести наименьшее время.
stasig вне форума Ответить с цитированием
Старый 19.04.2009, 11:51   #2
megachuhancer
Форумчанин
 
Регистрация: 16.04.2009
Сообщений: 247
По умолчанию

Эээ... А подробнее описать условие?
megachuhancer вне форума Ответить с цитированием
Старый 19.04.2009, 18:28   #3
stasig
Пользователь
 
Регистрация: 04.11.2008
Сообщений: 31
По умолчанию

ДА ту нужно чем проще тем лучше. Это и есть все условие.
stasig вне форума Ответить с цитированием
Старый 19.04.2009, 23:02   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

основная проблема в данном случае - это какого типа у Вас "массив часов и минут" ?
И как Вы собираетесь заполнять этот массив...
И решить, что такое "наименьшее время"?...

а сам алгоритм банален — сравниваем часы, где они меньше, то значение и меньше, если же часы одинаковы, сравниваем минуты...
типа так:
Код:
const
   N = 10; {размер массива}
type 
   MyTimeRec = record
     Hour : word;
     Minute   : word;
   end;
var
   MinVal : MyTimeRec;
   TimeArr : array[1..N] of MyTimeRec;
   i : integer;
begin
   {тут заполнение массива - просто для примера..}
    {и, кстати, в реальной жизни, 
   прямо во время ввода данных и надо сразу искать
   минимум, по мере ввода данных!
   но мы, для учебных целей, 
   сделаем отдельный цикл}
     for i:=1 to N do ReadLn(TimeArr[i].Hour,TimeArr[i].Minute);

    {для начала считаем, что первый элемент 
     имеет самое "маленькое" время }
    MinVal := TimeArr[1];    
    for i:=2 to N do 
       if TimeArr[i].Hour<MinVal.Hour then  MinVal := TimeArr[i]
       else 
           if TimeArr[i].Hour=MinVal.Hour then begin
              if TimeArr[i].Minute<MinVal.Minute then 
                    MinVal := TimeArr[i];
           end;

   WriteLn('Наименьшее время: ',MinVal.Hour:1,':',MinVal.Minute:1);

end.
p.s. писал код прямо в броузере, поэтому могут быть ошибки/опечатки...
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Реализовать задачку в Делфи stscolt Помощь студентам 3 13.04.2009 21:22
Помогите решить задачку Top4 Помощь студентам 0 07.04.2009 20:50
Пожалуйста помогите решить задачку, оочень нужно. Zaz Помощь студентам 4 25.06.2008 13:28
Помогите решить задачку New БД в Delphi 3 12.12.2006 19:46