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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.04.2015, 17:04   #1
nastiay
 
Регистрация: 24.04.2015
Сообщений: 3
Печаль Помогите пожалуйста с задачей. (Одномерный массив)

Задач по массивам много решалось, а эта не понятно с чего начать даже и каким образов ее составить:

Дано расписание движения автобусов. Всего 18 пригородных автобусов отправляются со станции. Определить количество автобусов, отправляющихся со станции в период времени с 17.00 до 20.30. (Время отправления задается одномерным массивом.)
Сформировать пользовательский тип данных, перечислимый, в котором указаны все возможные значения времени отправления: 00.00, 00.30, 01.00, 01.30…23.00, 23.30.
nastiay вне форума Ответить с цитированием
Старый 26.04.2015, 18:01   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Опиши структуру расписания:
Код:
TBus=record
 Marshroute:String;
 aTime:Array[1..2,1..2] of byte;
end;
Далее массив автобусов:
Код:
busiks:array[1..10000] of TBus;
Введешь:
Код:
for i:=Low(busiks) to High(busiks) do with busiks[i] begin
 Writeln('Следующий маршрут:');
 Writeln('Название':30); Readln(Marshroute);
 Writeln('Час отправления':30); Readln(aTime[1,1]);
 Writeln('Минута отправления':30); Readln(aTime[1,2]);
 Writeln('Час прибытия':30); Readln(aTime[2,1]);
 Writeln('Минута прибытия':30); Readln(aTime[2,2]);
end;
И можно будет поиск теперь
Код:
for i:=Low(busiks) to High(busiks) do with busiks[i] begin
 if not ((aTime[1,1]>=17) and (aTime[1,2]>=0) and
    (aTime[2,1]<=20) and (aTime[2,2]<=30)) then Continue;

 Writeln('маршрут:');
 Writeln('Название':30,Marshroute:10);
 Writeln('Час отправления':30,aTime[1,1]:10);
 Writeln('Минута отправления':30,aTime[1,2]:10);
 Writeln('Час прибытия':30,aTime[2,1]:10);
 Writeln('Минута прибытия':30,aTime[2,2]:10);
end;
Вот примерно так я это представляю.
Единственное только не понял что это за перечислимый тип от тебя требуют.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.04.2015, 18:12   #3
nastiay
 
Регистрация: 24.04.2015
Сообщений: 3
По умолчанию

большое спасибо, буду пробовать
nastiay вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста написать одномерный массив на с++ Me4nikov Помощь студентам 3 15.01.2014 18:26
Пожалуйста помогите в Delphi задача на одномерный массив Женя V. Помощь студентам 6 15.05.2009 22:56
Проблема с задачей на одномерный массив в Делфи 7 sting Помощь студентам 34 22.09.2008 15:36
Помогите пожалуйста!!! С использованием функции Random сформировать одномерный массив Vanya_www_333 Помощь студентам 1 17.08.2007 13:38