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:fileof ATable;
Procedure ReadMatr(var A:Atable);
var
i,j:word;
beginFor i:=1to25dobeginfor j:=1to6dobegin
write('A[',i,j,']= ');
readln(A[i,j])
end;
clrscr;
endend;
Procedure PrintMatr(A:Atable);
Var
i,j:word;
beginFor i:=1to25dobeginFor j:=1to6do write(A[i,j],' ');
writeln;
endend;
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;
beginrepeat
clrscr;
write('enter day: '); readln(mn);
if (mn<1) or (mn>31) then writeln('error!') elsebegin
str(mn,fn);
fn:='DAY'+fn;
enduntil (mn>=1) and (mn<=31);
readtable(fn,A); s:=0;
for i:= 1to25dobeginfor j:=1to6dobeginif 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;
beginrepeat
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 of1: beginrepeat
clrscr;
write('enter day: '); readln(mn);
if (mn<1) or (mn>31) then writeln('error!') elsebegin
str(mn,fn);
fn:='DAY'+fn;
enduntil (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: beginend;
5: beginend;
6: begin
GetCount(2);
end;
7: beginend;
8: beginend;
9: beginend;
end;
until selcase=27;
end.
реализованные функции протестировал.
--------------------
Помогая друг другу, мы справимся с любыми трудностями! "Не опускать крылья!" (С)
Считать матрицу из файла за данный день и подсчитать кол-во единиц.
Цитата
о проданных местах на весь месяц
Тоже самое, но считав за весь месяц.
Цитата
- о брони на весь месяц - о брони на заданное число
в том же духе. Ну очень сложное задание! Главная проблема - это как считать матрицу из файла или как посчитать кол-во нулей в матрице??
--------------------
Romiras HomeLab- материалы и статьи по разработке ПО, моделирование алгоритмов, обработка и анализ информации, нейронные сети, машинное зрение и прочее.