Вопрос № 87277: Подскажите, пожалуйста, как создать файл - телефонный справочник (номер и имя), а затем записать в новый файл фамилии абонентов с номером АТС (первые три цифры номера), который встречается чаще всего....Вопрос № 87321: Уважаемые эксперты. Вопрос в следующем: при получение сообщения
.if uMsg==WM_SOKET
mov eax,lParam
.if ax==FD_CLOSE
mov eax,wParam
invoke closesocket,eax
.endif
.endif
Как узнать IP-адрес, отсоединившегося сокет...Вопрос № 87345: Здраствуте! у меня проблема с текстовым режимом (80*25) и мультипликативным датчиком случайных чисел, проблема заключается в реализации, в общем программа должна заполнять экран белым цветом, путем перемещения одного знакоместа случайным образом в 1 ...Вопрос № 87390: люди помогите плиз с лабой. Необходимо ввести матрицу 4 на 3, затем нади кол-во чисел, находящихся
в промежутке между 2 заданными с клавы числами. и Вот мой код, но я где-то намудрил с регистром cx. Укажите, пожалуйста, где моя ошибка, и как можно бы...Вопрос № 87407: Помогите пожалуйста, надо написать программу, которая бы для десяти последовательно расположенных в памяти чисел, находила минимальное и максимальное значения, и выводила бы на экран частное и остаток от деления максимального числа на минимальное . В...
Вопрос № 87.277
Подскажите, пожалуйста, как создать файл - телефонный справочник (номер и имя), а затем записать в новый файл фамилии абонентов с номером АТС (первые три цифры номера), который встречается чаще всего.
Отправлен: 17.05.2007, 07:26
Вопрос задал: Dalex (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Лысков Игорь Витальевич
Здравствуйте, Dalex!
Могу предложить идеи, как я бы делал.
1) Определиться с форматом файла.
Удобнее всего сделать фиксированный размер записи.
Например, 24 байта имени абонента (вместе с завершающим нулем) и,
допустим, 8 байт под строку с номером. Можно добавить еще адрес абонента.
Удобно, когда в сумме - степень двойки (у нас 32) - легше считать адрес по номеру записи.
2)Осталось только последовательно записать в нашу базу все записи в нужном формате.
Для удобства в программе можно описать запись структурой.
3)Когда база создана, осталось решить вторую задачу:
Решается в два этапа
а)Ищем количество всех абонентов по АТС
Для этого строим в памяти массив структур формата (АТС не много, можно задать максимальное количество, допустим 100).
str dd ? ;так удобнее сравнивать - читаем в EAX двойное слово по адресу номера и обнуляем старший байт
cnt dd ? ;количество
Если встречается новый номер АТС, то добавляем новую структуру, не забывая увеличить счетчик структур.
Пробегаем базу и строим количества
б)Осталось найти максимальное количество и еще раз пробежав по базе, сравнив еще раз номера,
сформировать требуемый файлик (возможно в другом формате,
например, в обычном текстовом, с запятыми и с завершающими 0d0ah)
--------- Удачи!
Ответ отправил: Лысков Игорь Витальевич (статус: Практикант)
Ответ отправлен: 17.05.2007, 10:37 Оценка за ответ: 4
Вопрос № 87.321
Уважаемые эксперты. Вопрос в следующем: при получение сообщения
.if uMsg==WM_SOKET
mov eax,lParam
.if ax==FD_CLOSE
mov eax,wParam
invoke closesocket,eax
.endif
.endif
Как узнать IP-адрес, отсоединившегося сокета?
Догадываюсь, что нужно привязаться к структуре сокета, но как?
Нигде не могу найти. Буду премного благодарен.
Отвечает: Лысков Игорь Витальевич
Здравствуйте, Каберле Андрей Иванович!
Не пробывал перед closesocket спросить
invoke getsockname, wParam, &sockaddr, &lensockaddr
?
--------- Удачи!
Ответ отправил: Лысков Игорь Витальевич (статус: Практикант)
Ответ отправлен: 17.05.2007, 12:49
Вопрос № 87.345
Здраствуте! у меня проблема с текстовым режимом (80*25) и мультипликативным датчиком случайных чисел, проблема заключается в реализации, в общем программа должна заполнять экран белым цветом, путем перемещения одного знакоместа случайным образом в 1 из 4х (начальный символ получает код 0 и атрибут 0) окружающих его мест, соответственно случайность обеспечивается мультипликативным датчиком случайных чисел
в принципе как реализовать датчик я более менее разобрался(хотя работоспособность оно не проявляет), но как заставить это одно знакоместо перемещаться, по значениям, полученным в самом датчике, закрашивая те места в которых он побывал
Отправлен: 17.05.2007, 15:37
Вопрос задал: Макс (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 3)
Отвечает: Зенченко Константин Николаевич
Здравствуйте, Макс!
Смотрите приложение.
Я использовал команду NOT, чтобы видеть как работает программа.
Удачи!
Приложение:
--------- И только наступив на грабли мы преобретаем драгоценный опыт!
люди помогите плиз с лабой. Необходимо ввести матрицу 4 на 3, затем нади кол-во чисел, находящихся в промежутке между 2 заданными с клавы числами. и Вот мой код, но я где-то намудрил с регистром cx. Укажите, пожалуйста, где моя ошибка, и как можно было б сделать лучше.
Приложение:
Отправлен: 17.05.2007, 19:26
Вопрос задал: Beerb0x (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Лысков Игорь Витальевич
Здравствуйте, Beerb0x!
Приятно помогать, когда человек сам пытается что-то сделать!
Ввод чисел и вывод их на экран правильный.
Разве что, почему числа - однознаковые?
Если так надо, то все нормально. Если нет, то надо будет переделать, например, на ввод четырех строк, каждая с тремя числами, разделенными пробелами.
После ввода строки преобразовать в три числа.
А вот дальше слегка намутил...Посмотри, как я сделал.
И вывод суммы чуток поменял. Опять же работа ведется как с однознаковым числом. А если сумма будет, к примеру, 10 (чисел же 12!)? Что тогда?
А вообще, молодец, когда сам делаешь, оно лучше доходит!
Так держать!
Приложение:
--------- Удачи!
Ответ отправил: Лысков Игорь Витальевич (статус: Практикант)
Ответ отправлен: 17.05.2007, 20:44
Вопрос № 87.407
Помогите пожалуйста, надо написать программу, которая бы для десяти последовательно расположенных в памяти чисел, находила минимальное и максимальное значения, и выводила бы на экран частное и остаток от деления максимального числа на минимальное . Ввод данных сделать с клавиатуры.
Отправлен: 17.05.2007, 20:46
Вопрос задал: Ketor (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Зенченко Константин Николаевич
Здравствуйте, Ketor!
Смотрите приложение!
Нет проверки на знак.
Удачи!
Приложение:
--------- И только наступив на грабли мы преобретаем драгоценный опыт!
Отвечает: An42
Здравствуйте, Ketor!
Программа реализована следующим образом
>макрос dos21 - выводит приглашение, звуковой сигнал, введенный символ
>процедура call ah09 – ведет счетчик нумерации чисел
>процедура call ah08 – процедура ввода чисел (шестнадцатеричных) работают клавиши от 1...9, от A…F, от a…f, а так - же Esc – выход Enter – ввод (числа до 4-х разрядов)
>процедура call mas1 – определяет максимальный и минимальный элемент массива
>процедура call consol – перевод результата деления в ascii – код
Вывод результата частное / остаток в шестнадцатеричном формате
Остальные пояснения в программе
Удачи
Приложение:
Ответ отправил: An42 (статус: 3-ий класс)
Ответ отправлен: 19.05.2007, 16:23