Консультация № 110320
20.11.2007, 18:57
0.00 руб.
0 1 1
Здравствуйте, у меня такой вопрос:

Найти всех соседей заданного символа в исходной строке. Первый и последний символ считать соседями.

Спасибо за внимание!

Обсуждение

давно
Старший Модератор
31795
6196
21.11.2007, 20:30
общий
это ответ
Здравствуйте, Primus!

Смотрите приложение.
ps:вопросы задавайте в мини-форум, он Вам доступен как автору вопроса.
Удачи!

Приложение:
MASM;IDEAL or MASMMODEL tiny.186CODESEGorg 100hstart:;выводим сообщение о строке mov ah,09h mov dx,offset dbString int 21h;вводим строку mov ah,0ah mov dx,offset dbStrSize int 21h;вывол сообщения о символе mov ah,09h mov dx,offset dbSimbol int 21h;вводим символ mov ah,01h int 21h mov dl,al;настраиваемся на поиск xor ch,ch mov cl,dbStrLen push cx pop di xor si,si mov bx,offset dbStrInput;соединяем начало и конец строки mov al,[bx] mov ah,[bx+di-1] mov dbStrLen,ah mov [bx+di],al;записываем конец строки для контроя mov byte ptr[bx+di+1],‘$‘;проверяем буквуLoopFind: cmp dl,[bx+si] jnz CheckLoop;меняем регистр символов для контроля xor byte ptr[bx+si],20h;переводим строку mov al,13 int 29h mov al,10 int 29h;вывод соседних символов mov al,[bx+si-1] int 29h mov al,[bx+si+1] int 29h;переход к следующему символуCheckLoop: inc si loop LoopFind;вывод строки поиска для контроля mov al,13 int 29h mov al,10 int 29h mov ah,09 mov dx,offset dbStrLen int 21h ret;данныеdbString db 13,10,‘Input String:$‘dbSimbol db 13,10,‘Input Simbol:$‘dbStrSize db 100dbStrLen db ?dbStrInput db 100 dup(?) end start
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Форма ответа