![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
South Fruit |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Мужской Репутация: ![]() ![]() ![]() |
В зрительном зале 25 рядов в каждом из которых 36 мест (кресел). Информация о проданных билетах хранится в двухмерном массиве , номера строк которого соответствуют номерам рядов , а номера столбцов - номера мест. Если билет на то или иное место продан , то соответствующий элемент массиваимеет значение 1, в противном случае - 0. Составить программу , определяющую число проданных билетов на места в 12-ом ряду.
Срочно помогите решить данную задачу. Извините за заголовок, времечко давит ![]() Сообщение отредактировано: South Fruit - 10.04.2007 12:18 |
![]() ![]() |
arhimag |
![]()
Сообщение
#2
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 424 Пол: Мужской Репутация: ![]() ![]() ![]() |
Код 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. -------------------- Чего хочет женщина – того хочет Бог
|
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 6:32 |