Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Ассемблер? Это просто! Учимся программировать (FAQ)


Служба Рассылок Subscribe.Ru

"Ассемблер? Это просто! Учимся программировать (FAQ)"

Выпуск № 188
от 14.02.2002, 02:05

Администратор: Калашников Олег
Сайт Администратора: Программирование на Ассемблере


Старейшины рассылки
(по состоянию на 14.02.2002, 02:05)

1. Broken Sword - ответов: 352.
2. Painbringer (нечто наподобие домашней страницы) - ответов: 327.
3. Sensey - ответов: 296.
4. Dron (Операционная система с нуля!) - ответов: 247.
5. DiGiT - ответов: 191.


От Администратора

Поступило предложение от эксперта freeseacher о том, чтобы быстрее переходить к Windows. Т.к. я пока вместе с группой единомышленников занят разработкой нового ресурса http://RusFAQ.ru, то просто нет времени печатать рассылку по Ассемблеру под Windows (хочется быстрее запустить новый совместный проект).
Посему предлагаю: если есть желающие напечатать выпуск для основной рассылки "Ассемблер? Это просто! Учимся программировать", то я буду просто счастлив! Да и не только я! Многие подписчики будут рады!!!
При этом, все права сохраняются за автором.

Если подписчики будут только приветствовать стиль и форму изложения материала тех или иных экспертов, то я передам пароль ввода рассылки этим экспертам. А что, если мы все вместе будем вести эту рассылку?

При этом мы получаем:
1. Наплыв вопросов в рассылку FAQ по Windows;
2. Много-много благодарностей тем экспертам, которые будут делать выпуски;
3. Основная рассылка станет выходить чаще;
4. Эксперты смогут выбирать ЛЮБЫЕ темы, т.к. нет смысла изучать "с нуля" операторы Ассемблера;
5. И пр.

Я уже, кажется, предлагал нечто подобное, но не получил ни одного предложения...

Может все-таки попробуем?

Предлагаю первую тему для рассылки: "Hello, world с использованием API MessageBox".

P.S. Если кто-то еще не подписан на основную рассылку, то это можно сделать на сайте http://kalashnikoff.ru. Архив выпусков находится там же.

ВНИМАНИЕ! Я изменил процедуру генерации формы для отправки вопросов, а проверить ее работоспособность нет возможности (только в рассылке). Если вдруг форма работать не будет, то отправьте вопрос с адреса http://kalashnikoff.ru/cgi-bin/Message.cgi.

Новости

[14.02] Эксперту BMR присвоен статус "Продвинутый".


 Вопрос № 370

Всем привет !

Объясните, что происходит: ставлю оценку за пришедший ответ, нажимаю "Отправить", после чего оказываюсь на сайте www.kalashnikoff.ru где мне говорят "Ваша оценка не может быть принята по одной из следующих причин: 1. Вы не поставили оценку!". Что бы это значило? Не хочу беспокоить boss-а раньше времени (у него и так забот хватает), может это глюк Outlook-а (версия 5.00.2615.200)? А может я чего не так делаю?

Отправитель: germsoft
Вопрос отправлен: 09.02.2002, 04:19
Подгруппа: Пользовательская работа с Windows

_______________

Отвечает Cardinal
Приветствую Вас, germsoft!
Да, у Босса дел и так много. Но по его же рекомендации - сохраняй вопросы в html. ну и, соответственно, работай через нормальный броузер.



Отправлено: 09.02.2002, 13:48
Отправитель: Cardinal (регистрация: 22/01/2002, ответов на счету: 26)
ДГТУ
evg_list@aport2000.ru
Россия, Ростов-на-Дону

_______________

Отвечает kostik
Доброе времЯ суток, Scourge!
Прежде всего перед Ресайзом, диск нужно дефрагметировать.
Возможно фрагментированный данные мешают Ресайзу.
Используй более новые версии Partition Magik для ДОС ( например шестую)


Отправлено: 09.02.2002, 14:44
Отправитель: kostik (регистрация: 01/02/2002, ответов на счету: 25)
Адрес: ул. Мирная д.3 кв.58
Тел.: 4112-39276
URL: http://www.ospedia.boom.ru - Что-то вроде домашней странички
mrkirov@mail.ru
Россия, Хабаровск

_______________

Отвечает Tiger
Приветствую Вас, germsoft!
Млин, ну сколько можно задавать однотипные вопросы??????? Вы бы хоть рассылку внимательно читали!!!! Сказано же, что надо отправлять не из АутГлюка, а из броузера!!!!! Т.е. сначала форму надо открыть в IE или что там у вас.


Отправлено: 10.02.2002, 21:13
Отправитель: Tiger (регистрация: 28/12/2001, ответов на счету: 81)
URL: http://www.tigeer.narod.ru - Что-то вроде того




 Вопрос № 371

Здравствуйте коллеги!
1.Придумал слоган рассылки:
"Не главное ЗНАТЬ, главное ЗНАТЬ, У КОГО И КАК СПРОСИТЬ"
Как, покатит?
2. Оцените глупость компилятора (в приложении)
3. Вопрос к знатокам комманд 486 и пентюха: Вроде бы там такая вещь(см. Приложение) ддолжна работать?

Приложение:


Отправитель: Эксперт Sensey
Вопрос отправлен: 09.02.2002, 11:38
Подгруппа: Общие вопросы по программированию на Ассемблере под DOS

_______________

Отвечает 4c4d
Добрый день, Sensey!
А подумайте, если каждый будет стремиться к тому, чтобы только знать, у кого спросить. Кто тогда будет знать? Впрочем, возможно, что вы имели в виду другое.


Отправлено: 12.02.2002, 06:19
Отправитель: 4c4d (регистрация: 31/01/2002, ответов на счету: 9)
bmstu
Russia, Moscow




 Вопрос № 372

Здревтвуйте, уважамые эксперты!
Проблема такая:
У меня стоит ATI Multimedia Center 7,1 (1999) под Ati ALL-IN-WONDER 128 PRO ULTRA на WinMe. И когда я хапаю с телика программой TV bp из комплекта ATI MUL CENTER кодаком DivX 4.12 то при долгой записи небольшая последовательность кадров начинает повторяться, но тонкая полоса сверху продолжает нормально показывать. Через несколько минут Опять все нормально показывает. На протяжении всего клипа звук идет нормлаьно. Если вы не поняли как происходит этот глюк, то скинте мне майл и отправлю вам кусочек с глюком. Также на больших разрешениях на клипе идут какие-то полоски как будто кадр склеен из двух кадров (их чередующихся кусочков). Вообще это тяжело объяснить словами, так что если не понятно только скинте майл.

Приложение:


Отправитель: Евгений (eujenio2001@ukr.net)
Вопрос отправлен: 09.02.2002, 13:36
Подгруппа: Пользовательская работа с Windows

_______________

Отвечает Den
Доброе время суток, Евгений!
Ну по первому вопрсу ничего сказать не могу, а по поводу полосок слушай (в смысле читай):
телевизионный растр (кадр) состоит из 576 строк, но они передаются не подряд, а через одну строку (отсюда название - черезстрочная развертка), то есть сначала нечетные строки, а затем четные. Эти полукадры передаются с частотой 50 Гц, следовательно четные строки запаздывают на 20 мс. Если картинка медленная, то ничего не заметно, а например, если в хоккее сильно засандалят шайбу, то ее видно как размытое пятно.


Отправлено: 09.02.2002, 17:08
Отправитель: Den (регистрация: 28/12/2001, ответов на счету: 18)
Россия, СПб, Ломоносов

_______________

Отвечает DivX
Доброе время суток, Евгений!
Вообще это кодек не реалтаймовый и предназначен для несколько более сложного процесса компрессирования, в несколько. Ну установи в нем фиксированный битрейт, а лучше жми сначала в MJPEG или MotionWavelets.


Отправлено: 09.02.2002, 18:06
Отправитель: DivX (регистрация: 28/12/2001, ответов на счету: 170)




 Вопрос № 373

Извините, конечно за глупый вопрос, но как мне модифицировать
меню Послать (Он появляется при щелчке правой кнопкой мыши
на файле!)

Отправитель: mrkirov
Вопрос отправлен: 09.02.2002, 13:47
Подгруппа: Пользовательская работа с Windows

_______________

Отвечает Cardinal
Добрый день, mrkirov!
Как, как - "Послать на ... (Send to...))"!!
В %WinDir% есть папка "SendTo" (рассматриваю пример для W95 W98, на других должно быть аналогично...). Размещаешь там ярлыки, в теле которых пишешь необходимые действия (ессесно, что у каждой проги свои параметры, так что универсального метода нет). Если что, можно посмотреть в параметрах ассоциации файлов как запустить, открыть... файл приложением.
Копирование и проч - DOS-овские.
Правда имеются некоторые специвыческие виндозные файлики (см. в реестре). Но нехочется перегружать рассылку.


Отправлено: 09.02.2002, 14:01
Отправитель: Cardinal (регистрация: 22/01/2002, ответов на счету: 26)
ДГТУ
evg_list@aport2000.ru
Россия, Ростов-на-Дону

_______________

Отвечает kostik
Доброе время суток, mrkirov!
Заходишь в ту папку, куда Ты установил WINDOWS. Там находишь папочку SEND TO. Собственно в ней расположены ярлычки, которые потом показываются в меню. Ты их можешь удалять, добавлять свои.Не забудь, что у них особый формат


Отправлено: 09.02.2002, 14:45
Отправитель: kostik (регистрация: 01/02/2002, ответов на счету: 25)
Адрес: ул. Мирная д.3 кв.58
Тел.: 4112-39276
URL: http://www.ospedia.boom.ru - Что-то вроде домашней странички
mrkirov@mail.ru
Россия, Хабаровск

_______________

Отвечает Александр Алексеев
Здравствуйте, mrkirov!
Для этого нужно поместить ярлык(файл *.lnk) того объекта(программы, папки и т.д.), который вы хотите добавить в меню "Отправить", в каталог C:\WINDOWS\SendTo. Для этого в Проводнике вы находите этот объект, щелкаете по нему правой кнопкой, выбираете пункт Копировать, переходите в указанный каталог и выбираете из меню по правой кнопке пункт Копировать ярлык.


Отправлено: 09.02.2002, 14:56
Отправитель: Александр Алексеев (регистрация: 09/02/2002, ответов на счету: 1)
РФ, Ульяновск

_______________

Отвечает freeseacher
Добрый день, mrkirov!
C:\windows\sendto\ сюда кладешь ярлык.
Все остальное меняется Restorator'ом в файлах shell32.dll и explorer.exe.


Отправлено: 09.02.2002, 15:06
Отправитель: freeseacher (регистрация: 03/02/2002, ответов на счету: 10)
Тел.: 8(3832)366362
Новосибирск

_______________

Отвечает progmas
Добрый день, mrkirov!


Приложение:


Отправлено: 09.02.2002, 17:35
Отправитель: progmas (регистрация: 28/12/2001, ответов на счету: 21)
URL: http://a-kireev.narod.ru - HOMEPAGE

_______________

Отвечает Evgeny
Доброе время суток, mrkirov!
Если я правильно понял, то имеется в виду меню Отправить (SendTo), в которое нужно добавить какое-либо значение.
Самый простой способ - открыть папку C:\WINDOWS\SendTo\ (или где у Вас там храниться Виндовс). Далее в этой папке создать ярлык той программы, в которую нужно отправить файл. В меню Отправить появится новое значение.
С уважением, Евгений!


Отправлено: 09.02.2002, 21:33
Отправитель: Evgeny (регистрация: 28/12/2001, ответов на счету: 51)
URL: http://teacher.km.ru - Обучающие программы, рефераты
Россия, Екатеринбург

_______________

Отвечает Andy Bitoff
Здравствуйте, mrkirov!
Насколько я понял это меню Отправить, если да, то его содержимое находится в каталоге c:\WINDOWS\SendTo\


Отправлено: 10.02.2002, 00:19
Отправитель: Andy Bitoff (регистрация: 28/12/2001, ответов на счету: 61)
URL: http://bitoff.pisem.net - HomePage или что-то типа того :)
Россия, Санкт-Петербург

_______________

Отвечает Bart Simpson
Приветствую Вас, mrkirov! Есои ты имеешь ввиду меню Send to то в папке винды есть соотв. папка Sendto в неё и кидаешь ярлык того куда послать (к примеру блокнота)


Отправлено: 10.02.2002, 11:11
Отправитель: Bart Simpson (регистрация: 28/12/2001, ответов на счету: 34)
104536986
Украина, Одесса

_______________

Отвечает Tiger
Приветствую Вас, mrkirov!
Да уж, это точно вопрос на засыпку. :((
c:\windows\sendto и в этом каталоге создаете ярлык на нужную вам программу или папку.


Отправлено: 10.02.2002, 21:12
Отправитель: Tiger (регистрация: 28/12/2001, ответов на счету: 81)
URL: http://www.tigeer.narod.ru - Что-то вроде того

_______________

Отвечает Vladimir
Добрый день, mrkirov!
C:\Windows\SendTo


Отправлено: 11.02.2002, 10:35
Отправитель: Vladimir (регистрация: 28/12/2001, ответов на счету: 35)
Россия, Конаково Тверской обл.

_______________

Отвечает SeGa
Доброе время суток, mrkirov!
Кидаешь в папку C:\Windows\SendTo ярлык на приложение
или папку куда "Послать"


Отправлено: 11.02.2002, 14:40
На момент выхода рассылки эксперт в базе не был найден либо недавно сменил пароль.

_______________

Отвечает root
Добрый день, mrkirov!
В папке windows\sendTo хранятся ярлыки на программы, которые отображаются в меню "Отправить". Добавляете/удаляете оттуда значок и все.


Отправлено: 11.02.2002, 22:48
Отправитель: root (регистрация: 28/12/2001, ответов на счету: 25)
РГУ
Адрес: 344064. Ростов-на-Дону, ул. Таганрогская, 50а
Тел.: (8-632) 77-97-02
URL: http://www.aofd.boom.ru - Когда-то будет homepage
ICQ: 92779849
Россия, Ростов-на-Дону




 Вопрос № 374

Какой функцией можно получить список длинных имён файлов
Отправитель: chiv (chiv2607@yandex.ru)
Вопрос отправлен: 09.02.2002, 14:18
Подгруппа: Пользовательская работа с Windows

_______________

Отвечает progmas
Доброе время суток, chiv!

В VB вызови DIR


Отправлено: 09.02.2002, 17:31
Отправитель: progmas (регистрация: 28/12/2001, ответов на счету: 21)
URL: http://a-kireev.narod.ru - HOMEPAGE

_______________

Отвечает Andy Bitoff
Доброе время суток, chiv!
Это не тебе случайно я отечал? Цитирую:
Насколько я знаю на асме сразу одной процедурой (читай функцией) получить список файлов нельзя. Для этого надо использовать функции поиска и сохранять для себя список по одному файлу. Пример проги, которая ищет файлы по заданной маске в указанном каталоге, смотри "Ассемблер? Это просто! Учимся программировать (FAQ)" Выпуск N 164
А если хочешь без программирования то просто создаешь файл под именем, ну например 1.bat в нем пишешь:
dir c:\ > 1.txt
и запускаешь. И он тебе создаст список в файле 1.txt в каталоге где будет 1.bat
Конец цитаты.
Так вот, длинные имена получаются точно так же.


Отправлено: 10.02.2002, 00:26
Отправитель: Andy Bitoff (регистрация: 28/12/2001, ответов на счету: 61)
URL: http://bitoff.pisem.net - HomePage или что-то типа того :)
Россия, Санкт-Петербург




 Вопрос № 375

Здравствуйте люди добрые.
Подскажите пожалуйста, можно-ли найти в инете книжечку:
"Advanced Windows" by Jeffrey Richter
всмысле в электронном виде, а не через e-shop.
С уважением Sla_M

Отправитель: Slava (Sla_M@mail.ru)
Вопрос отправлен: 09.02.2002, 15:05
Подгруппа: Общие вопросы по программированию на Ассемблере под Win32

_______________

Отвечает UFO
Добрый день, Slava!
3 минуты поиска и, кажется, нам повезло :)))
http://src.fitkursk.ru/detail_book.asp?id=81


Отправлено: 09.02.2002, 17:50
Отправитель: UFO (регистрация: 28/12/2001, ответов на счету: 104)
Россия, Южно-Сахалинск

_______________

Отвечает K.A. NiCK
Добрый день, Slava!
Думаю, что все-таки можно ;)


Отправлено: 09.02.2002, 18:52
Отправитель: K.A. NiCK (регистрация: 28/12/2001, ответов на счету: 163)

_______________

Отвечает masquer
Приветствую Вас, Slava!
Где найти - не подскажу (у меня она в печатном виде), хотя найти не сложно, порекомундую ее иметь в печетном виде, и читать приятнее чем с экрана, и место на экране свободно. Есть эе русское издание, питер-пресс выпускает.


Отправлено: 09.02.2002, 19:47
Отправитель: masquer (регистрация: 16/01/2002, ответов на счету: 23)
Украина, Николаев

_______________

Отвечает 4c4d
Доброе время суток, Slava!
Думаю, найти-то можно, только вот просто так она может нигде и не лежать - у народа спрашивать надо, кого-нибудь найдется. Например, у меня дома на винте лежит небольшой архив, а выложить руки никак не доходят.


Отправлено: 12.02.2002, 06:23
Отправитель: 4c4d (регистрация: 31/01/2002, ответов на счету: 9)
bmstu
Russia, Moscow




 Вопрос № 376

Извиняйте, если вопрос уже был - не так просто перелопатить более чем полторы сотни выпусков.
Проблема в следующем:
Звуковуха ESS Alegro, мать ASUS. После установки Линолеума стал коряво работать звук. Включаешь песню, а она играет все тише и тише, пока не затихает совсем. У фильмов звук тоже глохнет. Прибавишь его до нормального уровня - а он опять понижается. Под W98SE такой ерунды не было (но там были другие проблемы, поэтому ставить его назад неприемлимо). Проблема проявляется при работе WinAmp, WMP, даже когда стандартные звуки виндос играют.

Отправитель: Aton
Вопрос отправлен: 09.02.2002, 16:43
Подгруппа: Модели, виды и типы компьютеров (hard)

_______________

Отвечает Cardinal
Здравствуйте, Aton!
Может быть 2 причины - железная и софтовая.
Железо - очень похоже, что где-то выделывается конденсатор на усилителе. Сноси свою карточку к соседу. Если у него играет - смотри далее.
Далее:> Софт - С музыкой и фильмом было бы понятно (и то, и другое обрабатывается кодеком MP3 - всё вело бы к нему), но на счет стандартных... это прямо в тупик ставит.
Всё что могу посоветовать - вкладка "Устройства" из "Мультимедиа". Задай наивысший приоритет другим кодекам (аудиосжатие). Может с киношкой левый драйвер шел...


Отправлено: 10.02.2002, 19:10
Отправитель: Cardinal (регистрация: 22/01/2002, ответов на счету: 26)
ДГТУ
evg_list@aport2000.ru
Россия, Ростов-на-Дону

_______________

Отвечает 4c4d
Здравствуйте, Aton!
Знаете, если честно... Снесите вы этот Линолеум. У меня тоже была когда-то попытка... Может, конечно, у меня руки кривые, но проблемы возникли там, где их просто не должно было возникать. Чем вам 98SE плохо?


Отправлено: 12.02.2002, 06:30
Отправитель: 4c4d (регистрация: 31/01/2002, ответов на счету: 9)
bmstu
Russia, Moscow




 Вопрос № 377

Халява прет - вот наткнулся
http://src.fitkursk.ru/online.asp
У кого хороший канал - скачайте сайт по адресу
http://www.ctyme.com/intr/int.htm
Выложите его на фтп зазипуйте - вам памятник поставят (может быть) :)

Отправитель: Эксперт UFO (ibm2000@mailru.com)
Вопрос отправлен: 09.02.2002, 18:14
Подгруппа: Общие вопросы по программированию на Ассемблере под Win32

_______________

Отвечает K.A. NiCK
Здравствуйте, UFO!
Да уж...


Отправлено: 09.02.2002, 18:53
Отправитель: K.A. NiCK (регистрация: 28/12/2001, ответов на счету: 163)

_______________

Отвечает Andy Bitoff
Добрый день, UFO!
Спасибо. Материал действительно заслуживает внимания.


Отправлено: 10.02.2002, 00:22
Отправитель: Andy Bitoff (регистрация: 28/12/2001, ответов на счету: 61)
URL: http://bitoff.pisem.net - HomePage или что-то типа того :)
Россия, Санкт-Петербург




 Вопрос № 368

Как установить время и дату будильника? Пытался записывать в соответствующие
порты ввода-вывода (вначале в порт 70h записываю номер ячейки CMOS, а потом
в порт 71h нужное значение ), но после этого когда загружаю ПК
обнаруживается, что BIOS сбрасывает CMOS.

Отправитель: Madcap (madcap@web-com-ua.com)
Вопрос отправлен: 09.02.2002, 00:35
Подгруппа: Общие вопросы по программированию на Ассемблере под Win32

_______________

Отвечает masquer
Добрый день, Madcap!
Для будильника наверное нужно посмотреть инструкцию. А для таймера компьютера воспользоваться функцией GetSystemTime


Отправлено: 09.02.2002, 12:49
Отправитель: masquer (регистрация: 16/01/2002, ответов на счету: 23)
Украина, Николаев




 Вопрос № 378

многоУважаемые эксперты!!! Есть проблема:
Нада написать TSR прогу, которая перехватывает 09h и 1Сh интеррапты. При нажатии на "F1" включается динамик (pc спикер) с частотой звука на ваше усмотрение, при нажатии на "F2" звук отрубается, УПРАВЛЕНИЕ ВОЗВРАЩАЕТСЯ В ДОС (!!!)
При чем здесь 1Ch ? Длительность звучания должна регулироваться именно с помощью обработчика этого прерывания (и никак иначе!!!). Т.е в хендлере 1Ch проверяется флаг, и учитывая "18 раз в секунду" формируется задержка...Прога простецкая, сижу уже часов 9 над ней, НЕ МОГУ ВЕРНУТЬ УПРАВЛЕНИЕ В ДОС после нажатия F2!!! (ни о каких флагах занятости не может быть и речи, т.к. никаких int 21h и в помине нету)

Теперь по поводу Вашего ответа. Пожалуйста, никакие советы и рекомендации по поводу "сохранения всего, запрета прерываний etc" не принимаются!!! НУЖЕН ТОЛЬКО РАБОЧИЙ ИСХОДНИК!!!!

на всяк случай еще раз повторю - ТОЛЬКО РАБОЧИЙ ИСХОДНИК (с возвращением управления после нажатия F2) и ОБЯЗАТЕЛЬНЫМ ПЕРЕХВАТОМ И ИСПОЛЬЗОВАНИЕМ (!!!) int09h и int1Ch

p.s. если можно, то плз без AMIS-спецификаций...
p.p.s. если кто то хоть как то намекнет по поводу выгрузки резидента по "F3" - то это вообще супер!

Заранее всем спасиба!

Отправитель: Lamer
Вопрос отправлен: 09.02.2002, 20:43
Подгруппа: Общие вопросы по программированию на Ассемблере под DOS

_______________

Отвечает Артём Шегеда
Здравствуйте, Lamer!

Не поленись, скачай с моего сайта архив с драйверами клавиатуры. Там есть перехват твоих прерываний. Модифицируешь всего десяток строк - и прога уже твоя.


Отправлено: 09.02.2002, 20:48
Отправитель: Артём Шегеда (регистрация: 28/12/2001, ответов на счету: 49)
URL: http://www.shegeda.chat.ru/ - Пристанище неодинокого программиста
x-USSR, Харьков

_______________

Отвечает Bart Simpson
Здравствуйте, Lamer! Привет Ара ! у тебя в примере обработчик заканчивается как и написанно в Зубкове (буквально!;) но там надо в начале сохранить 61h :
in al,61h
push ax
or al,80h
out 61h,al ;заблокировать клаву !
... ; собственно обработчик
pop ax
out 61h,al ;вернуть все обратно !!!!!
и закончить его надо таким макаром:
mov al,20h
out 20h al ;сообщить контроллеру прерываний что все конец !


Отправлено: 10.02.2002, 11:06
Отправитель: Bart Simpson (регистрация: 28/12/2001, ответов на счету: 34)
104536986
Украина, Одесса




 Вопрос № 379

Привет, уважаемые эксперты! Мне необходимо решить следующую задачку: Дано n предметов и известна ихняя масса a1, a2, ..., an. Необходимо разделить предметы на две группы так, чтобы общая масса обеих групп была максимально близкой.
Заранее благодарю!

Отправитель: HAPPY_PR
Вопрос отправлен: 09.02.2002, 22:52
Подгруппа: Общие вопросы по программированию на Ассемблере под DOS

_______________

Отвечает Broken Sword
Здравствуйте, HAPPY_PR!
1. Найти предмет с максимальной массой.
2. Положить его в первую кучу.
3. Найти предмет с максимальной массой из оставшихся
4. В любом случае - его во вторую кучу
5. Найти предмет с максимальной массой из оставшихся
6. От общей массы первой кучи отнять массу второй кучи, если получилось положительное число или ноль, то предмет найденный на 5 шаге кладем во вторую кучу. Если получилось отрицательное число - кладем этот найденный предмет в первую кучу.
7. jmp 5.


Отправлено: 10.02.2002, 00:47
Отправитель: Broken Sword (регистрация: 28/12/2001, ответов на счету: 352)
ICQ#64476575
Украина, Одесса




 Вопрос № 380

Привет, уважаемые эксперты! Мне необходимо решить следующую задачку на Паскале (или алгоритм решения): Дано n предметов и известна ихняя масса a1, a2, ..., an. Необходимо разделить предметы на две группы так, чтобы общая масса обеих групп была максимально близкой.
Заранее благодарю!

Отправитель: HAPPY_PR (dial@selena.kherson.ua)
Вопрос отправлен: 09.02.2002, 22:54
Подгруппа: Общие вопросы по программированию на Ассемблере под DOS

_______________

Отвечает Painbringer
Добрый день, HAPPY_PR!
поскольку паскаль у меня не жилец (всё забываю человеческую crt достать пишу алгоритм).
1. вводишь усе данные в массив и считаешь сумму всех элементов - S.
2. сортируешь массив по возрастанию.
3. складываешь элементы от первого пока сумма S1 < S/2. это произойдет на элемнете k.
4. смотришь что ближе к S/2 S1 или S1-ak и в зависимости от этого разбиваешь на группы.


Отправлено: 10.02.2002, 01:13
Отправитель: Painbringer (регистрация: 28/12/2001, ответов на счету: 327)
URL: http://limanski.narod.ru - нечто наподобие домашней страницы
ICQ 146861957
Россия, Дзержинск, Нижегородская обл.




Форма отправки сообщения
(действительна до момента выхода следующего выпуска рассылки)

Внимательно(!) заполните приведенную ниже форму для того, чтобы отправить вопрос или дополнение к ответам. Дополнительную информации по пользованию формой для подписчиков и экспертов можно получить, нажав на знак вопроса в соответствующем разделе, при этом информация будет отображена в отдельном окне.

В почтовых программах форма не работает!!! Открывайте рассылку в браузере Internet Explorer, где и набирайте Ваш вопрос.



 Персональные данные (?)
Ваше имя:
Пароль (экспертам):
E-mail (подписчикам):
Опубликовать мой e-mail в рассылке


 Текст сообщения (?)
Вопрос


Текст вопроса или дополнения:

Приложение (если необходимо: программа, выдержка из закона и т.п.):

Если Вы отправляете дополнение,
нажмите кнопку "Отправить как дополнение":




 Выбор подгруппы (для вопроса)

Отправить вопрос всем экспертам выбранной подгруппы


SpyLOG be number one SUPERTOP

© 2000 - 2002 Россия, Москва. Авторское право: Калашников О. А.


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное