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

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

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

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


Новичок
*

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

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


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

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

Сообщение отредактировано: South Fruit -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


В программе должен участвовать массив, описанный ниже, и цикл:
var
Zal:array[1..25,1..36]of integer;
...
n:=0;
for i:=1 to 36 do n:=n+Zal[12,i];


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

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

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


А если полный код программы с комментариями, то платно?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Ну, попробуй сам, а?.. Хоть основное допиши. Мы дополним..
Не за что там деньги брать, ей-Богу..
и спотыкаться не обо что.. соберись, сядь, возьми примеры.. smile.gif давай, у тебя получится!


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Профи
****

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

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


Первым пунктом программы должно быть создание массива (можно вводить вручную, а можно и заставить комп поработать). Далее проверяешь продан билет или нет, увеличиваешь количество проданных и выводишь результат на экран. Все просто)))

p.s. Могу выложить код, но лучше попробуй сам)))
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Новичок
*

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

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


Ой ребята, как у вас здорово smile.gif спсибо за поддержку smile.gif сейчас попробую smile.gif

Добавлено через 14 мин.
ну у Lapp выше уже указан массив...правильно?

Добавлено через 3 мин.
  n:=0;
for i:=1 to 36 do n:=n+Zal[12,i];


Вот это не пойму...
 for i:=1
- это продан билет?

Добавлено через 2 мин.
Книги вот заказал жду, а сейчас вот даже не знаю что писать ребята sad.gif но выучить очень хочу, не хочу халявщиком быть! nea.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Профи
****

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

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


for i:=1 to 36 do 

это значит, что переменная i будет изменяться от 1 до 36 (1,2,3...34,34,35). В твоем случае это места в зале.

Вот код программы, попробую объяснить как она работает:
uses wincrt;
{Начнем по порядку. Массив Lapp естественно указал правильно. Тебе понадобятся еще три}
{переменные: i - чтобы проходить циклом по креслам, j - чтобы проходить по рядам и k - количество}
{ проданных билетов}
var m: array[1..25,1..36] of integer;
k,i,j: integer;
begin
k:=0; {изначально количество проданных у нас равно 0}
{Сначала надо создать массив из проданных и свободных кресел. Так как вводить с клавиатуры 900 мест}
{ достаточно проблематично))) предлагаю заполнить его с помощью функции random (генератор случайных }
{чисел):}
randomize; {включаем генератор}
for j:= 1 to 25 do {в этих циклах компьютер проходит по каждому креслу каждого ряда}
for i:=1 to 36 do
begin
m[j,i]:=random(2); {а сдесь случайным образом задается 0 или 1}
end;
for i:=1 to 36 do {пробегаем по креслам 12-го ряда}
k := k + m[12, i]; {почему так, ниже объяснил volvo}
writeln(k); {выводим результат}
end.

Вот вроде и все, если что непонятно - спрашивай)))

p.s. "Оля, вот этого я от тебя никак не ожидал... smile.gif" Спасибо за исправление, проскакивают еще глупые ошибки)))

Сообщение отредактировано: Айра -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гость






Оля, вот этого я от тебя никак не ожидал... smile.gif Если уже работаем с 0/1, то не проще посчитать сумму элементов строки? Лишний If в программе, все-таки...

for i:=1 to 36 do
k := k + m[12, i];
writeln(k);
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Новичок
*

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

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


uses wincrt; 

до begin идет массив от Lapp да?
и переменные тоже прописать? (integer...?)

Добавлено через 17 мин.
Error 15: File not found WINCRT.TPU blink.gif это что значит? При компиляции выскакивает..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Профи
****

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

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


пиши просто uses crt;


--------------------
Цитата
Imagination is more important than knowledge.
Albert Einstein
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Профи
****

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

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


Цитата
Цитата
uses wincrt;

Добавлено через 17 мин.
Error 15: File not found WINCRT.TPU это что значит? При компиляции выскакивает..

Это значит что библиотека не найдена, у меня компилятор недоделанный какой-то, поэтому без этой строчки ни одна программа не работает. Удали ее и все будет нормально или замени на
uses crt;


Цитата
до begin идет массив от Lapp да?
и переменные тоже прописать? (integer...?)

Все правильно))) Только смотри, чтоб названия переменных дальше в программе совпадали. Я же массив обозвала m, а у Lapp'а Zal.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Новичок
*

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

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


Ребята вот гляньте пожалуйста, все вроде правильно, а массив то у тебя Айра ведь итак прописан уже..или я ошибаюсь?
Проблема в том что при запуске (Run) просто промаргивает черный экран и все ... может задержку как то прописать?

Вот при вводе вроде нигде не ошибся, а она только моргает unsure.gif

Изображение

Добавлено через 2 мин.
program zadacha;
uses crt;


и т.д. как ты написала unsure.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Знаток
****

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

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


readln;
в конец и все хорошо smile.gif
P.S. до "End." конечно.
P.P.S. Что бы посмотреть результат, можно Alt+f5

Сообщение отредактировано: arhimag -


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


Новичок
*

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

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


Вообщем поставил
Delay(10000);
теперь можно смотреть.
Выводит вот что blink.gif

Изображение


Добавлено через 1 мин.
readln;? пасиб буду знать smile.gif

Добавлено через 32 сек.
А почему значение всегда разное...?

Добавлено через 1 мин.
Что то я смысла не пойму, получается она при разных обстоятельтвах показывает кол-во проданных билетов на 12 ряд?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15





Группа: Пользователи
Сообщений: 8
Пол: Мужской
Реальное имя: Владимир

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


Цитата
А почему значение всегда разное...?

Потому что количество проданных билетов берется рандомом.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16


Новичок
*

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

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


Точно, спасибо smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #17


Профи
****

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

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


Когда ты ставишь в конце readln программа будет ждать от тебя ввода, а это в ней лишнее. Разве что так, для себя поставить, а когда сдавать программу будешь, убрать. Так что просто жми Alt+F5 smile.gif
Кстати, если убрать строчку randomize, то числа всегда будут одни и теже и результат соответственно тоже.

Сообщение отредактировано: Айра -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #18


Новичок
*

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

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


Так без readln просто промаргивает экран черный blink.gif

Добавлено через 1 мин.
А чем отличается Alt+F5 от Ctrl+F9 ? smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #19


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Цитата(South Fruit @ 11.04.2007 6:14) *

А чем отличается Alt+F5 от Ctrl+F9 ? smile.gif

Ctrl-F9 - это запуск задачи на выполнение.
Alt-F5 - это просто просмотр уже полученных результатов.

Представь себе, что окно с программным текстом как бы находится поверх обычного окна с командной строкой (знаешь командную строку?). Задача твоя запускается в командной строке. Считается она быстро, поэтому если ее не задержать, отрабатывает и снова тебе показывают текст. Если вставить ReadLn, то программа не закончит работу, пока ты не нажмешь Enter. Это дает тебе возможность просмотреть, что она выдала.
Но если даже ReadLn'а нету, то ты все равно можешь просмотреть резульат, убрав окно с текстом программы и заглянув "под него". Для этого и служит Alt-F5. Это просто просмотр, ты ничего в этом режиме не можешь сделать оеально. Нажатие любой клавиши врзвращает тебя в окно текста программы.

Понятно?

Добавлено через 5 мин.
Если ты запустил задачу, она отработала, а потом ты изменил что-то в программе, то нужно нажимать только Ctrl-F9. А Alt-F5 тебе не поможет - она только опять покажет старые результаты.

Загляни в меню Run и Compile. Там ты увидишь эти "горячие клавиши" напротив тех действий, которые они выполняют. И может, найдешь еще что-то полезное.. smile.gif


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #20


Новичок
*

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

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


Цитата
(знаешь командную строку?).

Конечно smile.gif
Все понял smile.gif

Насчет задачки, то не правильно у нас sad.gif
Дело в том что нужна матрица которая как бы покажет номера рядов и номера столбцов и в ней наглядно должно быть видно точное кол-во билетов на 12 ряд blink.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





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