|
Вопрос # 2 004/ вопрос открыт / |
|
Здравствуйте, уважаемые эксперты!
Помогите, пожалуйста, решить некоторые задачки!
Меня не было в школе очень долго и я не знаю, как их решить.
Мне не обязательно прямо кодом, мне хотя бы какими-то математическими алгоритмами.
Хотя если что - я использую Борланд Дельфи 7. Помогите пожалуйста хоть частично, хоть одну задачку, хоть частично, хоть как-то...
Вот задачки:
Выручка театра.
В театре N рядов по M мест в каждом. Даны две матрицы - в первой записаны стоимости билетов. Вторая сообщает, какие билеты проданы, а какие нет (1 - соответствующий билет продан, 0 - не продан). Определите общую выручку от спектакля.
Вводится сначала число N, затем число M. Затем дана матрица стоимостей билетов (N строк по M чисел, каждое из чисел от 0 до 10 000).
Далее задана матрица проданных билетов (опять же N строк по M чисел). N и M не превышают 100.
Выведите общую выручку от продажи билетов.
Пример ввода:
3 4
1 100 100 1
1 5 5 1
2 2 3 2
1 0 1 1
0 1 1 0
0 0 1 0
Пример вывода: 115.
В этой задаче я себе даже не представляю, как всё это оформить... Хотелось бы конечно как-нибудь через пользовательский интерфейс, а не через ввод из файла. Но как??
Вторая задача:
Однажды царь решил вознаградить одного из своих мудрецов за хорошую работу. Он привёл его в прямоугольную комнату размером NxM, в каждой клетке которой лежало несколько килограммов золота.
Царь разрешил мудрецу обойти несколько клеток (переходя с клетки, где сейчас находится мудрец, в одну из четырёх с ней соседних), и собрать всё золото, которое попадётся на его пути.
Вам дан маршрут мудреца. Требуется определить, сколько килограммов золота он собрал.
Мудрец мог более одного раза проходить по одной и той же клетке. Золото с неё он брал при этом только один раз - когда проходил по клетке в первый раз.
Входные данные:
Вводится план комнаты. Сначала вводится количество строк N, затем количество столбцов M (1<=N<=20; 1<=M<=20). Затем записано N строк по M чисел в каждой - количество килограммов золота, которое лежит в данной клетке (число от 0 до 50). Далее записано число X-сколько клеток обошёл мудрец. Далее записаны координаты этих клеток (координаты клетки - это два числа: первое определяет номер строки, второе - номер столбца, верхняя левая клетка на плане имеет координаты (1,1), правая нижняя - (N,M)).
Выходные данные: выведите количество килограммов золота, которое собрал мудрец.
Пример ввода:
3 4
1 2 3 4
5 6 7 8
9 10 11 12
9
1 1
2 1
2 2
2 3
1 3
1 2
1 1
1 2
2 2
Пример вывода: 24
Но ещё раз повторюсь, что хотелось бы это организовать в win-32 приложении, с которым было бы удобно работать пользователю.
Заранее огромное спасибо!!!
 |
Вопрос задал: Arti (статус: Посетитель)
Вопрос отправлен: 17 октября 2008, 21:23
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 2; последнее сообщение — 18 октября 2008, 07:28; участников в обсуждении: 2.
|
Вадим К (статус: Академик), 17 октября 2008, 23:26 [#1]:
Уж больно задачи похожи на олимпиадные...
первая задача - проще простого. Перемножиться попарно элементы двух матриц и сложить. А ввод можно сделать и через StringGrid. Хотя если это всё таки олимпиада, то там принято входные данные получать с файла.
Вторая задача сильно от первой не отличается. читай коордирдинаты и умножай и складывай.
В чём конткретно проблема?
А теперь большой секрет - консольные приложения - это тоже Win32 Мало того, они даже окна умеют показывать
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Arti (статус: Посетитель), 18 октября 2008, 07:28 [#2]:
Спасибо Вам большое. )
Насчёт олимпиадных - если честно, не знаю, но возможно.
А проблема была как раз в том, что я почти не представлял себе сами алгоритмы. Буду осваивать работу с массивами. )
Про вин-32 - если честно, когда писал, то совсем не подумал. ) Ведь и правда. )
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|