![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 18.01.2017
Сообщений: 5
|
![]()
Ввести строку символьных данных, задавая буфер равный 24 байт.
Проанализировать встречающиеся символы . Выдать одно из сообщений: "Цифровые символы " "Cимволы латинского регистра" "Символы и латинского регистра и цифровые". |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
![]()
что за хрень?
Может поздороваешься и скажешь пожалуйста?
Нашедшего выход - затаптывают первым..
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 18.01.2017
Сообщений: 5
|
![]()
Простите пожалуйста, торопился! Здравствуйте и помогите пожалуйста!)
|
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
![]()
Если не считать некоторых спец/символов, то ASCII-коды латиницы лежат в диапазоне 41h-7Ah (А-z соответственно). Значит, чтобы проверить введённую строку, нужны 2 проверки: больше(41h) и меньше(7Ah).
Но это-же можно проделать и одной проверкой, если отнять от проверяемого символа 41h, и просто проверить на меньше/равно 39h (7Ah-41h=39h). Проверяемый диапазон остался тот-же, зато одна проверка вылетела в штрафбат. Точно так-же и с цифрами, которые заняли в ASCII-таблице позиции от 30h, до 39h (цифры 0-9). Нужно отнять от символа 30h, и проверить на меньше/равно 09h (39h-30h=09h). В итоге получаем всего 2 проверки, вместо четырёх. В качестве флага можешь использовать регистр(ВХ), который будешь INC'ременировать. Например, BH пусть будет флагом цифр, а BL - флагом латиницы. Проходишься 1 раз по-строке, и проверяешь по окончании флаги. Не понятно, что означает у тебя 'WinASM' - это IDE, или программа под винду. Сам что-нибудь из этого сможешь сделать?
Нашедшего выход - затаптывают первым..
|
![]() |
![]() |
![]() |
#5 |
Регистрация: 18.01.2017
Сообщений: 5
|
![]()
Большое спасибо. Попробую сделать по вашему совету. (но был бы рад полному коду) Win asm у меня программа под винду.
|
![]() |
![]() |
![]() |
#6 |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
![]()
..я тоже был-бы рад, например штуке баксов.
Но чтобы их получить нужно-же хоть что-то сделать!? Введи хоть самостоятельно строку в буфер, а дальше посмотрим..
Нашедшего выход - затаптывают первым..
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как ввести символьную строку и переписать в новую строку без пробелов? | Таатта | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 05.12.2013 16:32 |
задавая значение одной ячейки копировать всю строку | ok_7126 | Microsoft Office Excel | 15 | 10.01.2013 01:11 |
Найти байт максимальным количестов единиц и байт с максмальным количеством нулей и разность (ассемблер) | Beren42 | Помощь студентам | 0 | 15.12.2010 20:32 |
Ввести строку символьный данных Асемблер | Max3 | Помощь студентам | 0 | 16.05.2010 19:41 |