0 / 0 / 0
Регистрация: 14.03.2010
Сообщений: 3
1

Заменить каждый символ латинского алфавита на символ, идущий следующим в алфавите

14.03.2010, 11:48. Показов 1692. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дан код программы для M.Visual C++ 2008:
С клавиатуры вводится строка длиной N, 2<N<100. Заменить каждый символ латинского алфавита на символ, идущий следующим в алфавите. Символы 'z' и 'Z' не заменять. Результат вывести на экран.
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
.686
.model flat, stdcall
include macroses.inc
 
.data
include vars.inc
a DB 99 DUP(' ')                                        ;объявляем массив
len DB 0                                            ;объявляем переменную в которой будет храниться массив
                                                    ;объявление переменных содержащих сообщения
promt1 DB 'Vvedite stroky: '
promt3 DB 'Result '
 
.code
include procedures.inc
 
WinMain PROC
 
    INIT_CONSOLE
 
    WRITE_CONSOLE OFFSET promt1, SIZEOF promt1  
    READ_STRING a                           
 
    mov len,al                              ; сохраняем размер массива в переменной len
    mov cl,len                              ; переносим размер строки в cl
    mov esi, OFFSET a                       ; ставим указатель на начало строки в esi
    
.WHILE cl>0                                 ;пока cl не равен 0 выполняем
    mov al,[esi]
 
    .IF al >='A' && al !='Z' && al <'z'     
            ; если символ лежит в промежутке "A ... Y, a, ... y" т.е. все символы кроме 'Z' и 'z'
        add al,1                            
               ;то добавляем к ним 1 т.е. передвигаем его на следующую букву (если была А то станет В и т.д.)
    .ENDIF 
 
mov [esi],al    ; записываем символ после проверки
add esi, 1  ; переходим к следующему элементу
dec cl      ; декриминируем cl
.ENDW                                       
 
    WRITE_CONSOLE OFFSET promt3, SIZEOF promt3          ; Выводим инфо.сообщение
 
    WRITE_CONSOLE OFFSET a, SIZEOF a                ; Выводим обработанную строку
 
        
    READLN_CONSOLE                                  ; ожидаем ввода
    INVOKE ExitProcess, 0                           ; завершаем процесс
 
WinMain ENDP
end
Потом внесли изменения в условие, а именно, переменную в инициализации данных изменили с
Assembler
1
a DB 99 DUP(' ')
на
Assembler
1
a DB 99 DUP ('a'), dup ('b'), 'Zz'
... следовательно нужно внести изменения в коде, но я новичок, поэтому сделать это не могу... думаю, что профи и гуру это сделать не сложно
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.03.2010, 11:48
Ответы с готовыми решениями:

Дан символ. Определить: является ли данный символ буквой латинского алфавита (верхний регистр)
Система исчисления по умолчанию:десятичная. Должно быть построено логическое выражение, результат...

Заменить каждый символ следующим по коду
В заданной строке заменить каждый символ следующим по коду

Заменить все буквенные символы латинского алфавита в исходной строке на символ, введенный с клавиатуры
Написать программу, заменяющую все буквенные символы латинского алфавита в исходной строке на...

Visual Studio при добавлении символа заменяет им символ идущий следующим
Сабж в название. Как отключить? Объяснит такое гуглу не могу.

0
14.03.2010, 11:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.03.2010, 11:48
Помогаю со студенческими работами здесь

Каждый символ ? удвоить. Каждый символ, стоящий перед !, заменить символом, введенным с клавиатуры
Каждый символ ? удвоить. Каждый символ, стоящий перед !, заменить символом, введенным с...

Каждый символ ? удвоить. Каждый символ, стоящий перед !, заменить символом, введенным с клавиатуры.
Работа с символьными данными. 15. Каждый символ ? удвоить. Каждый символ, стоящий перед !,...

Каждый символ русского языка заменить на созвучные символы английского алфавита
Дан русский текст. Выполнить &quot;транслитерацию&quot; текста. Каждый символ русского языка заменить на...

Заменить каждый символ *, встречающийся после первого его вхождения, на символ -
Дан текст. Преобразовать его следующим образом: если нет символа *, то оставить его без...

Заменить каждый символ *, встречающийся после первого его вхождения, на символ -
Дан текст. Преобразовать его следующим *образом: если нет символа *, то оставить его *без...

Заменить каждый символ «точка» в строке на символ «вопросительный знак»
Общая инструкция. В программе необходимо определить динамическую длину строки и вывести это...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru