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

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

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

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


Новичок
*

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

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


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

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

Сообщение отредактировано: South Fruit -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #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 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
arhimag   var zal: array[1..25,1..36] of integer…   12.04.2007 0:33
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


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

 





- Текстовая версия 5.05.2024 13:46
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name