Срочно помогите решить данную задачу.
Извините за заголовок, времечко давит
Сообщение отредактировано: South Fruit -
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
| South Fruit |
Сообщение
#1
|
|
Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Мужской Репутация: 0 |
В зрительном зале 25 рядов в каждом из которых 36 мест (кресел). Информация о проданных билетах хранится в двухмерном массиве , номера строк которого соответствуют номерам рядов , а номера столбцов - номера мест. Если билет на то или иное место продан , то соответствующий элемент массиваимеет значение 1, в противном случае - 0. Составить программу , определяющую число проданных билетов на места в 12-ом ряду.
Срочно помогите решить данную задачу. Извините за заголовок, времечко давит Сообщение отредактировано: South Fruit - |
![]() ![]() |
| arhimag |
Сообщение
#2
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 424 Пол: Мужской Репутация: 2 |
Код var zal: array[1..25,1..36] of integer;{Наш массив, где мы храним кинотеатральный зал} Radi : array [1..36] of integer;{Массив в котором будем хранить сколько билетов купленно на этом ряду} k : integer;{Номер, ряда количество купленнов билетов надо вывести} procedure Buy_ticket;{ Процедура покупки билета} var i,j,x,y : integer; {Две переменные цикла, и переменные означающие координаты купленного билета} begin for i:= 36 downto 1 do begin {Начало вывода зала. Сначала будем рассматривать последний ряд, потом предпоследний ..., а потом первый} if i>9 then { Это чисто для красоты, чтобы зал был ровным, т.к. у нас есть и двузначные номера ряда и однозначные, то после однозначных надо поставить лишний пробел, а все однозначные - это меньшие 10, а все двузначные - большие 9} write(i,': '){Выводим номер ряда и двоеточие с пробелом после него, до двоеточия пробела нет, т.к. эти числа двузначяные} else write(i,' : ');{Выводим номер ряда и пробел и двоеточие и пробел после него, пробел есть так как числа однозначные} for j:= 1 to 25 do {Пробегаем по всему ряду с первого места до последнего} write(zal[j,i],'|');{И выводим, куплено ли это место или нет(1 - если купленно и 0 - если нет) ну и конечно, для красоты разделитель} writeln;{Переводим курсор на следующую строчку} end; Writeln('Vvedite rad, v kotorom Vi hotite sidet(ili 0, chtobi zakrit kassu):');{Выводим сообщение с инструкциями} Read(y);{Считываем номер ряда, в котором желает сидеть клиент} if y=0 then begin {Если нам надоест вводить данные, то мы закрываем кассу, что бы закончить покупку билетов, а закрываем мы кассу, вводя в номер ряда 0} {Если закрыли, то} Writeln('Kassa zakrita:');{Выводим сообщение с инструкциями} Writeln('Vvedite nomer rada, kolichestvo zanatih mest kotorogo nuzno poschitat:');{Выводим сообщение с инструкциями} Read(k);{Считываем номер ряда, что бы вывести количество проданых на нем билетов} end else begin {А если нет, то} Writeln('Vvedite mesto, na kotorom hotite sidet:');{Выводим сообщение с инструкциями} Read(x);{Считываем номер места в ряду, на котором хочет сдеть клиент} If zal[x,y]=0 Then begin {Если это место свободно, то} zal[x,y]:=1; {Оно становится занятым} inc(Radi[y]); {И мы увеличиваем количество занятых мест на этом ряду на единицу} Writeln('Pozdravlajem, Vi kupili bilet!');{Выводим сообщение с поздравлением} end else{А если это место занято, то} Writeln('K sozaleniju eto mesto uze zanato!');{выводим сообщение об этом} end; end; var i,j : integer;{переменные цикла} begin {Начало Главной Процедуры, ну программы тоесть} for i:= 1 to 36 do begin {Пробегаем по все рядам с первого до последнего} Radi[i]:=0; {Выставляем количество занятых мест на этом ряду равным 0} for j:=1 to 25 do {Пробегаем по всем местам с первого до последнего} zal[j,i]:=0; {И устанавливаем, что это место свободно} end; k:=0; {Выставляем переменную K равной нулю, для того что бы отследить, когда она изменится} while k=0 do {Пока т.к. 0 ряда не существует, то когда пользователь закроет кассу и захочит посмотреть результат по ряду, то переменная К не будет равна 0, 100% } buy_ticket; {Ну а раз касса не закрыта, то мы можем продавать билеты, что мы и делаем, вызывая ранее написанную процедуру} write(radi[k]); {Выводим количество занятых мест в ряду К, просто выведя значения элемента массива, соответсвующего этому ряду} readln; {Ждем нажатия Enter} readln; {Ждем нажатия Enter} end. -------------------- Чего хочет женщина – того хочет Бог
|
South Fruit Задача про билеты (Турбо паскаль) 10.04.2007 16:17
Lapp В программе должен участвовать массив, описанный н… 10.04.2007 16:43
South Fruit А если полный код программы с комментариями, то пл… 10.04.2007 16:47
Lapp Ну, попробуй сам, а?.. Хоть основное допиши. Мы… 10.04.2007 16:53
Айра Первым пунктом программы должно быть создание масс… 10.04.2007 17:04
South Fruit Ой ребята, как у вас здорово :) спсибо за поддержк… 10.04.2007 17:44
Айра for i:=1 to 36 do
это значит, что переменная i б… 10.04.2007 19:00
volvo Оля, вот этого я от тебя никак не ожидал... :) Есл… 10.04.2007 19:04
South Fruit uses wincrt;
до begin идет массив от Lapp да?
и п… 10.04.2007 19:18
Tan пиши просто uses crt; 10.04.2007 19:44
Айра
Добавлено через 17 мин.
Error 15: File not found… 10.04.2007 19:46
South Fruit Ребята вот гляньте пожалуйста, все вроде правильно… 10.04.2007 23:48
arhimag readln;
в конец и все хорошо :)
P.S. до "End… 10.04.2007 23:53
South Fruit Вообщем поставил Delay(10000); теперь можно смотре… 10.04.2007 23:55
Dark Vova
Потому что количество проданных билетов берется р… 11.04.2007 0:10
South Fruit Точно, спасибо :) 11.04.2007 0:27
Айра Когда ты ставишь в конце readln программа будет жд… 11.04.2007 1:29
South Fruit Так без readln просто промаргивает экран черный :… 11.04.2007 9:14
Lapp
А чем отличается Alt+F5 от Ctrl+F9 ? :)
Ctrl-F9… 11.04.2007 9:40
South Fruit
Конечно :)
Все понял :)
Насчет задачки, то не … 11.04.2007 16:35
Айра
Т.е. надо чтоб каждый раз одно и тоже число прод… 11.04.2007 18:12
South Fruit Ну сказали что должна быть матрица, из рядов и сто… 11.04.2007 20:35
arhimag
var zal: array[1..25,1..36] of integ… 11.04.2007 22:00
South Fruit arhimag
Спасибо огромное, хотя я не доконца уверен… 11.04.2007 23:50
Айра
Ну тогда сделай так:
Program zadacha;
var m: arr… 12.04.2007 0:04
South Fruit Айрочка
Вот как то по красивее :) если не сложно у… 12.04.2007 0:21
South Fruit arhimag
Ого, спасибо огромное, буду разбираться. 12.04.2007 0:47
Артемий
:blum: :blum: :blum: 25 постов! 12.04.2007 1:04
Айра
Воть, если еще нужно:
Program zadacha;
uses crt;
… 12.04.2007 2:57
volvo Специально чтобы избежать подобного кодирования, к… 12.04.2007 3:13
South Fruit
Конечно нужно :) спасибо большое!
Понятно… 12.04.2007 8:26
South Fruit Айрочка все супер все объяснил здал и еще модифици… 12.04.2007 19:16
Айра Другую задачу надо сделать отдельной темой, а то п… 12.04.2007 19:28
South Fruit Program zadacha;
uses crt;
var m: array[1..25,1..… 12.04.2007 19:40
Айра Молодец! :) Но только лучше было бы воспользов… 12.04.2007 19:56![]() ![]() |
|
Текстовая версия | 8.12.2025 10:57 |