IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Задача про билеты (Турбо паскаль), определить число проданных билетов.
South Fruit
сообщение 10.04.2007 12:17
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 24
Пол: Мужской

Репутация: -  0  +


В зрительном зале 25 рядов в каждом из которых 36 мест (кресел). Информация о проданных билетах хранится в двухмерном массиве , номера строк которого соответствуют номерам рядов , а номера столбцов - номера мест. Если билет на то или иное место продан , то соответствующий элемент массиваимеет значение 1, в противном случае - 0. Составить программу , определяющую число проданных билетов на места в 12-ом ряду.

Срочно помогите решить данную задачу.
Извините за заголовок, времечко давит sad.gif

Сообщение отредактировано: South Fruit - 10.04.2007 12:18
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
arhimag
сообщение 11.04.2007 20:33
Сообщение #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.


--------------------
Чего хочет женщина – того хочет Бог
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
South Fruit   Задача про билеты (Турбо паскаль)   10.04.2007 12:17
Lapp   В программе должен участвовать массив, описанный н...   10.04.2007 12:43
South Fruit   А если полный код программы с комментариями, то пл...   10.04.2007 12:47
Lapp   Ну, попробуй сам, а?.. Хоть основное допиши. Мы...   10.04.2007 12:53
Айра   Первым пунктом программы должно быть создание масс...   10.04.2007 13:04
South Fruit   Ой ребята, как у вас здорово :) спсибо за поддержк...   10.04.2007 13:44
Айра   for i:=1 to 36 do это значит, что переменная i б...   10.04.2007 15:00
volvo   Оля, вот этого я от тебя никак не ожидал... :) Есл...   10.04.2007 15:04
South Fruit   uses wincrt; до begin идет массив от Lapp да? и п...   10.04.2007 15:18
Tan   пиши просто uses crt;   10.04.2007 15:44
Айра   Добавлено через 17 мин. Error 15: File not found...   10.04.2007 15:46
South Fruit   Ребята вот гляньте пожалуйста, все вроде правильно...   10.04.2007 19:48
arhimag   readln; в конец и все хорошо :) P.S. до "End...   10.04.2007 19:53
South Fruit   Вообщем поставил Delay(10000); теперь можно смотре...   10.04.2007 19:55
Dark Vova   Потому что количество проданных билетов берется р...   10.04.2007 20:10
South Fruit   Точно, спасибо :)   10.04.2007 20:27
Айра   Когда ты ставишь в конце readln программа будет жд...   10.04.2007 21:29
South Fruit   Так без readln просто промаргивает экран черный :...   11.04.2007 5:14
Lapp   А чем отличается Alt+F5 от Ctrl+F9 ? :) Ctrl-F9...   11.04.2007 5:40
South Fruit   Конечно :) Все понял :) Насчет задачки, то не ...   11.04.2007 12:35
Айра   Т.е. надо чтоб каждый раз одно и тоже число прод...   11.04.2007 14:12
South Fruit   Ну сказали что должна быть матрица, из рядов и сто...   11.04.2007 16:35
arhimag   var zal: array[1..25,1..36] of integ...   11.04.2007 18:00
South Fruit   arhimag Спасибо огромное, хотя я не доконца уверен...   11.04.2007 19:50
Айра   Ну тогда сделай так: Program zadacha; var m: arr...   11.04.2007 20:04
South Fruit   Айрочка Вот как то по красивее :) если не сложно у...   11.04.2007 20:21
arhimag   var zal: array[1..25,1..36] of integer...   11.04.2007 20:33
South Fruit   arhimag Ого, спасибо огромное, буду разбираться.   11.04.2007 20:47
Артемий   :blum: :blum: :blum: 25 постов!   11.04.2007 21:04
Айра   Воть, если еще нужно: Program zadacha; uses crt; ...   11.04.2007 22:57
volvo   Специально чтобы избежать подобного кодирования, к...   11.04.2007 23:13
South Fruit   Конечно нужно :) спасибо большое! Понятно...   12.04.2007 4:26
South Fruit   Айрочка все супер все объяснил здал и еще модифици...   12.04.2007 15:16
Айра   Другую задачу надо сделать отдельной темой, а то п...   12.04.2007 15:28
South Fruit   Program zadacha; uses crt; var m: array[1..25,1.....   12.04.2007 15:40
Айра   Молодец! :) Но только лучше было бы воспользов...   12.04.2007 15:56


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 6:32
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"