1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
| Hammer |
19.12.2004 13:15
Сообщение
#1
|
|
Гость |
Составить программу, помогающую сообщать сведения о местах на авиарейсы из Моск-вы в Ленинград на календарный месяц (30 дней). В памяти хранится информация о мес-тах на рейс на заданное число в виде матрицы, в которой номер строки – ряд, номер столбца – номер места в ряду (всего 25 рядов, по шесть мест в ряду). Элемент матрицы может иметь следующие значения: 0 — место свободно, 1 — место продано, 2 — место забронировано. Считать, что в день имеется один рейс. По требованию сообщать сле-дующую информацию:
о свободных местах на заданное число; о проданных местах на заданное число; о количестве свободных мест на весь месяц; о брони на заданное число. Подкиньте пару идей... |
| volvo |
19.12.2004 13:26
Сообщение
#2
|
|
Гость |
Hammer
Цитата Подкиньте пару идей... Идей насчет чего? Все же уже придумано, осталось только реализовать, но это уже не идеи, а исходники... :D И потом: "Количество свободных дней на весь месяц" подразумевает, что есть возможность просматривать данные на месяц вперед. Данные об одном рейсе хранятся в виде матрицы - это прекрасно, но как они связаны между собой? Массив матриц? Список? |
| Hammer |
19.12.2004 14:10
Сообщение
#3
|
|
Гость |
Ну помогите тогда реализовать... :D
Такая формулировка меня тоже смущает, наверно в памяти хранится вся информация на весь месяц. Как сформировать 30 матриц и загнать их в файл? |
| LLIRIKS |
19.12.2004 14:36
Сообщение
#4
|
|
Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Мужской Репутация: 0 |
Код for I:=1 to 30 do begin for J:=1 to N do for K:=1 to M do begin readln(A[J,K]); end; write(F,A); end; вроде бы так... F - файл типа A. A - вводимая матрица NxM. -------------------- Я не люблю, когда мне лезут в душу,
Тем более, когда в нее плюют... |
| volvo |
19.12.2004 14:45
Сообщение
#5
|
|
Гость |
LLIRIKS
А ведь массив может быть не только двумерным... Код const days = 31; rows = 25; {число рядов в салоне} cols = 6; {число кресел в ряду} type infotype = array[1 .. days, 1 .. rows, 1 .. cols] of byte; var info: infotype; f: file of infotype; begin ... {заполнение массива info} write(f, info); {и запись сразу всего массива} end. |
| Guest |
19.12.2004 15:04
Сообщение
#6
|
|
Гость |
я имел ввиду 30 разных матриц
|
| LLIRIKS |
19.12.2004 15:26
Сообщение
#7
|
|
Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Мужской Репутация: 0 |
Цитата(Guest @ 19.12.04 15:04) я имел ввиду 30 разных матриц фишка вот в чем: вводишь 1-ю (I:=1) матрицу под именем A, скидываешь в файл F (при этом указатель переходит на следующую позицию), потом вводишь 2-ю (I:=2) матрицу под тем же именем A (старая обновляется - но это не страшно, ведь она уже записана в файле ;) ), скидываешь 2-ю матрицу в файл (указатель двигается дальше) и т.д. до 30-й матрицы (I:=30)... -------------------- Я не люблю, когда мне лезут в душу,
Тем более, когда в нее плюют... |
| Guest |
19.12.2004 17:09
Сообщение
#8
|
|
Гость |
Код program pr2; type infotype=array [1..26,1..6] of integer; var info: file of infotype; f:string; a:infotype; i,j,k:integer; begin writeln ('Введите имя файла '); readln(f); Assign(info,f); Rewrite(info); randomize; for k:=1 to 30 do begin for i:=1 to 25 do for j:=1 to 6 do begin a[i,j]:=random(3); end; write(info,a); end; close (info); readln; end. Че здесь не так? Объясните пожалуйста И как потом считать эти матрицы из файла, чтобы с ними можно было проводить дальнейшие действия, описанные в условии? Сообщение отредактировано: volvo - 19.12.2004 17:32 |
| Digitalator |
19.12.2004 17:42
Сообщение
#9
|
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 247 Пол: Мужской Репутация: 1 |
Кстати меня всегда удивляет, почему вопрос "объясните пожалуйста" задают на форуме, а не у препода на лекции...
-------------------- |
| LLIRIKS |
19.12.2004 17:50
Сообщение
#10
|
|
Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Мужской Репутация: 0 |
Цитата(Guest @ 19.12.04 17:09) Че здесь не так? Объясните пожалуйста А какую ошибку выдает? в каком месте? -------------------- Я не люблю, когда мне лезут в душу,
Тем более, когда в нее плюют... |
| Guest |
19.12.2004 18:03
Сообщение
#11
|
|
Гость |
Ошибки не выдает, но в файл записывает какие-то квадратики... или так и должно быть?
|
| APAL |
19.12.2004 18:05
Сообщение
#12
|
![]() Смотрю... ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: 6 |
так и должно быть - файл то не текстовый.
-------------------- |
| LLIRIKS |
19.12.2004 18:14
Сообщение
#13
|
|
Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Мужской Репутация: 0 |
для того чтобы считать данные из файла:
Код for I:=1 to 30 do begin read(F,S); for J:=1 to 26 do for K:=1 to 6 do writeln(S[J,K]); end; попробуй так, вроде должно пойти... -------------------- Я не люблю, когда мне лезут в душу,
Тем более, когда в нее плюют... |
| Guest |
21.12.2004 10:54
Сообщение
#14
|
|
Гость |
А как тогда сделать так, чтобы при считывании, каждой матрице присваивался бы свой номер (1-30 дней)
|
| Guest |
22.12.2004 20:40
Сообщение
#15
|
|
Гость |
Объясните хотя бы сам алгоритм решения задачи, а то у меня ничего не получается...
Я делаю так: генерирую случайным образом 30 матриц и заношу их в файл, далее надо их как-то считать и присвоитть каждой матрице свой порядковый номер (типа a1 a2 a3...), чтобы можно было по требованию пользователя выдать какие-то данные на определенное число. Помогите Заранее спасибо! |
![]() ![]() |
|
Текстовая версия | 8.12.2025 5:39 |