![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Hammer |
![]()
Сообщение
#1
|
Гость ![]() |
Составить программу, помогающую сообщать сведения о местах на авиарейсы из Моск-вы в Ленинград на календарный месяц (30 дней). В памяти хранится информация о мес-тах на рейс на заданное число в виде матрицы, в которой номер строки – ряд, номер столбца – номер места в ряду (всего 25 рядов, по шесть мест в ряду). Элемент матрицы может иметь следующие значения: 0 — место свободно, 1 — место продано, 2 — место забронировано. Считать, что в день имеется один рейс. По требованию сообщать сле-дующую информацию:
о свободных местах на заданное число; о проданных местах на заданное число; о количестве свободных мест на весь месяц; о брони на заданное число. Подкиньте пару идей... |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Hammer
Цитата Подкиньте пару идей... Идей насчет чего? Все же уже придумано, осталось только реализовать, но это уже не идеи, а исходники... :D И потом: "Количество свободных дней на весь месяц" подразумевает, что есть возможность просматривать данные на месяц вперед. Данные об одном рейсе хранятся в виде матрицы - это прекрасно, но как они связаны между собой? Массив матриц? Список? |
Hammer |
![]()
Сообщение
#3
|
Гость ![]() |
Ну помогите тогда реализовать... :D
Такая формулировка меня тоже смущает, наверно в памяти хранится вся информация на весь месяц. Как сформировать 30 матриц и загнать их в файл? |
LLIRIKS |
![]()
Сообщение
#4
|
Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Мужской Репутация: ![]() ![]() ![]() |
Код 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 |
![]()
Сообщение
#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 |
![]()
Сообщение
#6
|
Гость ![]() |
я имел ввиду 30 разных матриц
|
LLIRIKS |
![]()
Сообщение
#7
|
Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата(Guest @ 19.12.04 15:04) я имел ввиду 30 разных матриц фишка вот в чем: вводишь 1-ю (I:=1) матрицу под именем A, скидываешь в файл F (при этом указатель переходит на следующую позицию), потом вводишь 2-ю (I:=2) матрицу под тем же именем A (старая обновляется - но это не страшно, ведь она уже записана в файле ;) ), скидываешь 2-ю матрицу в файл (указатель двигается дальше) и т.д. до 30-й матрицы (I:=30)... -------------------- Я не люблю, когда мне лезут в душу,
Тем более, когда в нее плюют... |
Guest |
![]()
Сообщение
#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 |
![]()
Сообщение
#9
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 247 Пол: Мужской Репутация: ![]() ![]() ![]() |
Кстати меня всегда удивляет, почему вопрос "объясните пожалуйста" задают на форуме, а не у препода на лекции...
![]() -------------------- |
LLIRIKS |
![]()
Сообщение
#10
|
Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата(Guest @ 19.12.04 17:09) Че здесь не так? Объясните пожалуйста А какую ошибку выдает? в каком месте? -------------------- Я не люблю, когда мне лезут в душу,
Тем более, когда в нее плюют... |
Guest |
![]()
Сообщение
#11
|
Гость ![]() |
Ошибки не выдает, но в файл записывает какие-то квадратики... или так и должно быть?
|
APAL |
![]()
Сообщение
#12
|
![]() Смотрю... ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: ![]() ![]() ![]() |
так и должно быть - файл то не текстовый.
-------------------- |
LLIRIKS |
![]()
Сообщение
#13
|
Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Мужской Репутация: ![]() ![]() ![]() |
для того чтобы считать данные из файла:
Код 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 |
![]()
Сообщение
#14
|
Гость ![]() |
А как тогда сделать так, чтобы при считывании, каждой матрице присваивался бы свой номер (1-30 дней)
|
Guest |
![]()
Сообщение
#15
|
Гость ![]() |
Объясните хотя бы сам алгоритм решения задачи, а то у меня ничего не получается...
Я делаю так: генерирую случайным образом 30 матриц и заношу их в файл, далее надо их как-то считать и присвоитть каждой матрице свой порядковый номер (типа a1 a2 a3...), чтобы можно было по требованию пользователя выдать какие-то данные на определенное число. Помогите ![]() Заранее спасибо! |
![]() ![]() |
![]() |
Текстовая версия | 18.06.2025 10:22 |