Автор Тема: Записи и множества.  (Прочитано 2343 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Тушенка

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Записи и множества.
« : 06 Февраля 2012, 13:53:07 »
имеются данные о 25 моментах времени одних и тех же суток. часы(значения от 0 до 23), и минуты (от 0 до 59). Нужно составить программу, которая будет сравнивать два любых момента времени по их условному порядковому номеру(определяющую, какой из моментов был в эти сутки раньше.

я вот могу найти эл.времени, который произошел раньше всего....а как быть дальше незнаю:
const n=25;
type moment=record;
name:string[20];
chas:0..23;
min:0..59; end;
var x:array[1//n] of moment;
i, k:byte;
for i:=1 to n do begin
write('момент времени');
readln(x.name);
write('часы');
readln(x.chas);
write('минута');
readln(x.min);
end;
k:=1;
for i:=2 to n do
if x.chas*59+x.min<x[k].chas*59+x[k].min then
k:=i;
writeln(x[k].name);
readln;
end.

подправьте пожалуйста мою программу чтоб она правильно решала задачу.

Оффлайн Selyd

  • Старожил
  • ****
  • Сообщений: 408
    • Просмотр профиля
Re: Записи и множества.
« Ответ #1 : 06 Февраля 2012, 14:55:42 »
Если я правильно понимаю вопрос, тогда после ввода списка из 25 времён надо:
1. ввести порядковый номер первого проверяемого времени
2. ввести порядковый номер второго проверяемого времени
3. Сравнить эти два времени и печатать номер боле раннего и её самоё.
4. Окончание проверок или
5. Пойти на следующий запрос.

Оффлайн wital1984

  • Постоялец
  • ***
  • Сообщений: 189
    • Просмотр профиля
Re: Записи и множества.
« Ответ #2 : 06 Февраля 2012, 18:54:33 »
А почему часы (x.chas) умножаем на 59, а не на 60. В часе чедь 60 минут, а не 59.
По этой логике 2часа и 1 час59 минут будут одинаковыми промежутками (2*59=1*59+59), а ведь второй наступил раньше.

Оффлайн Тушенка

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: Записи и множества.
« Ответ #3 : 07 Февраля 2012, 20:27:03 »
 дык 60 мин эт уже час, а я минуты считаю....

Оффлайн wital1984

  • Постоялец
  • ***
  • Сообщений: 189
    • Просмотр профиля
Re: Записи и множества.
« Ответ #4 : 07 Февраля 2012, 23:25:53 »
дык 60 мин эт уже час, а я минуты считаю....
Вы не поняли, вот у вас есть два момента времени:
1-й: 2 часа, 00 минут
2-й: 1 час, 59 минут.
Очевидно, что 2-й момент наступит раньше. Но в вашей программе момент времени считается по формуле: x.chas*59+x.min. Если по ней считать, то 1-й и 2-й моменты будут одинаковыми (2*59+0=1*59+59).
Впрочем, для того, что написали вы - нахождение самого раннего момента времени из набора - и это сравнение подойдет.
А вот если программу изменить (см. как писал выше Selyd), то тут уже ваше сравнение будет неверным.

Оффлайн sp

  • Пользователь
  • **
  • Сообщений: 51
    • Просмотр профиля
Re: Записи и множества.
« Ответ #5 : 13 Февраля 2012, 09:59:45 »
А что делает в структуре name? Это что: 1 В это время я просыпаюсь 6 2
Следущая запись 2 В это время я встаю 7 14.
Вопрошающий просматривает записи и сравнивает их. Потом смотрит разность времён и делает вывод: 1 - 2, раскачка. На раскачку ушло 1 ч 12 мин. :o
Так по условию задачи такого не требуется.

 

Описать множества и сравнить их

Автор Tata.8383

Ответов: 8
Просмотров: 4675
Последний ответ 01 Декабря 2010, 17:57:07
от Tata.8383
множества

Автор bifshtex

Ответов: 3
Просмотров: 4013
Последний ответ 04 Декабря 2009, 01:51:24
от bifshtex
Как избавиться от экспоненциальной формы записи в TP?

Автор privatnebank

Ответов: 4
Просмотров: 4237
Последний ответ 15 Февраля 2010, 19:22:07
от bifshtex
задача на записи (код прилагается)

Автор misha_beginner

Ответов: 0
Просмотров: 3484
Последний ответ 23 Ноября 2013, 15:31:44
от misha_beginner
Записи в паскале

Автор Астасья

Ответов: 1
Просмотров: 4744
Последний ответ 25 Марта 2011, 15:48:15
от InfStudent