1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
Составить программу, помогающую сообщать сведения о местах на авиарейсы из Москвы в Иркутск на календарный месяц (30 дней). В файле прямого доступа хранится информация о местах на рейс на заданное число в виде матрицы, в которой номер строки – ряд номер столбца – номер места в ряду (всего 25 рядов по 6 мест в ряду). Элемент матрицы может иметь следующие значения: 0 – место свободно, 1 – место продано, 2 – место забронировано. Считать, что в день имеется один рейс. Файлы имеют имена следующего типа: «DAYNN», где NN – число на которое хранится информация. Например: «DAY15» - в этом файле хранятся сведения о местах на рейс отправляющийся 15-го числа. По требованию сообщать следующую информацию:
- о количестве свободных мест - о проданных местах на заданное число - о проданных местах на весь месяц - о брони на весь месяц - о брони на заданное число Смоделировать покупку, бронирование и сдачу авиабилета.
Я в шоке ... Такого еще не было. Блин, даже не знаю с чего начать ...
--------------------
Нас десять братьев на тропе, идем мы быстро, на легке ...
Требуется посчитать в матрице кол-во элементов равных t. (и некоторые другие действия для других подзадач)
Реализовав это все остальное реализуется просто. вот тебе основа если хочешь... я кое что реализовал тебе лишь добавить немного осталось... весь интерфейс для файловой работы реализован..
uses crt; Type ATable = array[1..25,1..6]of byte; Var {global} f:file of ATable;
Procedure ReadMatr(var A:Atable); var i,j:word; begin For i:=1 to 25 do begin for j:=1 to 6 do begin write('A[',i,j,']= '); readln(A[i,j]) end; clrscr; end end;
Procedure PrintMatr(A:Atable); Var i,j:word; begin For i:=1 to 25 do begin For j:=1 to 6 do write(A[i,j],' '); writeln; end end;
procedure writetable(filename:string; tabl:Atable); begin Assign(f,filename); rewrite(f); write(f,tabl); close(f); end;
procedure ReadTable(filename:string; var tabl:ATable); begin Assign(f,filename); reset(f); read(f,tabl); close(f); end;
Procedure GetCount(nn:byte); var mn,selcase,i,j,s:byte; fn:string; A:ATable; begin repeat clrscr; write('enter day: '); readln(mn); if (mn<1) or (mn>31) then writeln('error!') else begin str(mn,fn); fn:='DAY'+fn; end until (mn>=1) and (mn<=31); readtable(fn,A); s:=0; for i:= 1 to 25 do begin for j:=1 to 6 do begin if a[i,j]=nn then inc(s); end; end; writeln(s); writeln('OK! press any key...'); readkey end;
var mn,selcase,i,j,s:byte; fn:string; A:ATable; begin
repeat clrscr; writeln('1. Enter table'); writeln('2. free seats'); writeln('3. sold seats (day)'); writeln('4. sold seats (month)'); writeln('5. reserved seats (month)'); writeln('6. reserved seats (day)'); writeln('--------------------------------'); writeln('7. purchase of ticket'); writeln('8. reserve ticket'); writeln('9. return ticket'); writeln('exit -> '); selcase:=ord(readkey); if (selcase >=48) and (selcase<=60) then dec(selcase,48); case selcase of 1: begin repeat clrscr; write('enter day: '); readln(mn); if (mn<1) or (mn>31) then writeln('error!') else begin str(mn,fn); fn:='DAY'+fn; end until (mn>=1) and (mn<=31); readmatr(A); writetable(fn,A); writeln('file ',fn,' created! press any key...'); readkey end; 2: begin GetCount(0); end;
3: begin GetCount(1); end; 4: begin
end; 5: begin end; 6: begin GetCount(2); end; 7: begin end; 8: begin end; 9: begin end; end; until selcase=27; end.
реализованные функции протестировал.
--------------------
Помогая друг другу, мы справимся с любыми трудностями! "Не опускать крылья!" (С)
Считать матрицу из файла за данный день и подсчитать кол-во единиц.
Цитата
о проданных местах на весь месяц
Тоже самое, но считав за весь месяц.
Цитата
- о брони на весь месяц - о брони на заданное число
в том же духе. Ну очень сложное задание! Главная проблема - это как считать матрицу из файла или как посчитать кол-во нулей в матрице??
--------------------
Romiras HomeLab- материалы и статьи по разработке ПО, моделирование алгоритмов, обработка и анализ информации, нейронные сети, машинное зрение и прочее.