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

Преобразовать строку так, чтобы после каждой точки был пробел, и следующая встречающаяся буква была прописная.

16.05.2017, 09:15. Показов 1384. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задана строка минимум 30 любых отображаемых символов, содержащая несколько точек. Преобразовать строку так, чтобы после каждой точки был пробел, и следующая встречающаяся буква была прописная.
Элементы строки должны вводиться с клавиатуры. Результат работы – преобразованную строку символов - необходимо вывести на экран. Обмен информацией с пользователем организовать в виде специальных сообщений, каждое из которых следует размещать в отдельной строке экрана.
0
16.05.2017, 09:15
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.05.2017, 09:15
Ответы с готовыми решениями:

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

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

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

6
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16347 / 7664 / 1077
Регистрация: 11.11.2010
Сообщений: 13,721
16.05.2017, 09:31 2
Я не знаю МСС,
Правила форума CyberForum.ru
4. Порядок создания тем.
4.7. Как можно более полно описывайте суть проблемы или вопроса, ЧТО было сделано для ее решения и КАКИЕ РЕЗУЛЬТАТЫ ПОЛУЧЕНЫ.
0
0 / 0 / 0
Регистрация: 16.05.2017
Сообщений: 7
16.05.2017, 09:39  [ТС] 3
Более точно некуда

Добавлено через 6 минут
Задана строка минимум 30 любых отображаемых символов, содержащая несколько точек. Преобразовать строку так, чтобы после каждой точки был пробел, и следующая встречающаяся буква была прописная.
Элементы строки должны вводиться с клавиатуры. Результат работы – преобразованную строку символов - необходимо вывести на экран. Обмен информацией с пользователем организовать в виде специальных сообщений, каждое из которых следует размещать в отдельной строке экрана.
Задачу необходимо сделать на процессоре i8086.
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8569 / 4416 / 1656
Регистрация: 01.02.2015
Сообщений: 13,719
Записей в блоге: 9
20.05.2017, 21:05 4
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
LOCALS
 
.model small
 
.stack 100h
 
.data
        msgInStr        db      'Введите строку, длиной не менее 30 отображаемых символов:', 0Dh, 0Ah, '$'
        msgResStr       db      'Строка после обработки:', 0Dh, 0Ah, '$'
        msgShortStr     db      'Длина строки должна быть не менее 30 отображаемых символов.', 0Dh, 0Ah, '$'
        CrLf            db      0Dh, 0Ah, '$'
 
        kbdBuf          db      80
        StrLen          db      0
        String          db      81 dup(?)
.code
 
main    proc
        mov     ax,     @data
        mov     ds,     ax
 
        ;ввод строки
@@GetString:
        mov     ah,     09h
        lea     dx,     msgInStr
        int     21h
        mov     ah,     0Ah
        lea     dx,     kbdBuf
        int     21h
        mov     ah,     09h
        lea     dx,     CrLf
        int     21h
        cmp     StrLen, 30
        jae     @@ProcessString
        mov     ah,     09h
        lea     dx,     msgShortStr
        int     21h
        jmp     @@GetString
 
@@ProcessString:
        ;обработка строки
        push    es
        push    ds              ;настроить регистр сегмента es для строковых операторов
        pop     es
        lea     si,     String  ;ds:si - адрес строки
        lea     di,     StrLen  ;ds:di - адрес байта длины строки
        mov     cx,     0       ;cx - длина строки
        mov     cl,     StrLen
        mov     ah,     0       ;признак необходимости преобразования символа к прописному
@@For:
        lodsb
        cmp     al,     '.'
        jne     @@IsUpCaseRequired
        ;если встретилась точка:
        ; - установить признак, что следующий символ должен быть прописным
        ; - проверить, не последний ли это символ в строке.
        ; - проверить наличие пробела после точки
        ; - если пробела нет - вставить
        mov     ah,     1       ;следующий символ необходимо слелать прописным
        cmp     cx,     1       ;это последний символ в строке?
        je      @@Next
        cmp     [si],   byte ptr ' '    ;следующий символ - пробел?
        je      @@Next
        ;вставка пробела
        ;перемещение строки вправо на 1 символ
        push    ax
        push    cx
        push    si
        push    di
        pushf
 
        add     si,     cx
        sub     si,     2
        mov     di,     si
        add     di,     1
        sub     cx,     1
        std
        rep     movsb
 
        popf
        pop     di
        pop     si
        pop     cx
        pop     ax
        ;после точки вставить пробел
        mov     [si],   byte ptr ' '
        ;увеличение длины
        inc     byte ptr[di]
        add     si,     1       ;пропустить пробел при рассмотрении следующего символв
        jmp     @@Next
 
@@IsUpCaseRequired:
        test    ah,     1       ;если требуется сделать символ прописным
        jz      @@Next
        mov     ah,     0
        call    UpCaseChar
        mov     [si-1], al
@@Next:
        loop    @@For
 
        mov     [si],   byte ptr '$'
        pop     es
 
        ;вывод результата
        mov     ah,     09h
        lea     dx,     msgResStr
        int     21h
        mov     ah,     09h
        lea     dx,     String
        int     21h
 
        mov     ax,     4C00h
        int     21h
main    endp
 
UpCaseChar      proc
        cmp     al,     'a'
        jb      @@Exit
        cmp     al,     'z'
        ja      @@Exit
        add     al,     'A'-'a'
@@Exit:
        ret
UpCaseChar      endp
 
end     main
1
0 / 0 / 0
Регистрация: 16.05.2017
Сообщений: 7
23.05.2017, 18:54  [ТС] 5
Все ровно, но данная программа ничего не делает, Она просто вводит строку но ничего не изменяет
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8569 / 4416 / 1656
Регистрация: 01.02.2015
Сообщений: 13,719
Записей в блоге: 9
23.05.2017, 20:14 6
Проверил. Всё работает. Строка изменяется.
До свиданья.
1
0 / 0 / 0
Регистрация: 16.05.2017
Сообщений: 7
26.05.2017, 20:37  [ТС] 7
Разобрался, спасибо.
0
26.05.2017, 20:37
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.05.2017, 20:37
Помогаю со студенческими работами здесь

Преобразовать строку так, чтобы между словами был ровно один пробел
Дана строка-предложение с избыточными пробелами между словами. Преобразовать ее так, чтобы между словами был ровно один...

Преобразовать строку так, чтобы между словами был ровно один пробел
Дана строка-предложение с избыточными пробелами между словами. Преобразовать ее так, чтобы между словами был ровно один пробел.

Преобразовать строку так, чтобы между словами был ровно один пробел
При реализации программы необходимо использовать функции обработки строк из библиотек stdlib.h и string.h Дана строка-предложение с...

Преобразовать строку так, чтобы между словами был ровно один пробел
Дана строка-предложение с избыточными пробелами между словами. Преобразовать ее так, чтобы между словами был ровно один пробел. Помогите...

Переобразовать строку так, чтобы между словами был ровно один пробел
Дана строка-предложение с избыточными пробелами между словами.Переобразовать её так, чтобы между словами был ровно один пробел.


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

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

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Опции темы

Новые блоги и статьи
Пользуясь нейросетью возвращаюсь к вопросу альтернативных приводов поступательного движения.
Hrethgir 14.02.2025
Описание тут https:/ / habr. com/ ru/ articles/ 778118/ . Вопрос ответ You Привет. Скажи, есть-ли вещества, которые могут менять жидкое состояние на желеобразное под воздействием ультразвука? . . .
Ошибка "Another git process seems to be running in this repository"
hw_wired 14.02.2025
При работе с git можно столкнуться с довольно раздражающей ошибкой "Another git process seems to be running in this repository". Эта ситуация возникает, когда система контроля версий пытается. . .
Ошибка "java.lang.NoCl­assDefFou­ndErro­r: javax/xml/bind/JAXBException"
hw_wired 14.02.2025
Как разработчики Java-приложений, мы сталкиваемся с разными ошибками, но одна из них - java. lang. NoClassDefFoundError: javax/ xml/ bind/ JAXBException - стала особенно актуальной после выхода Java 9. . . .
Отличия for-in от for-of в JavaScript
hw_wired 14.02.2025
Когда-то единственным способом перебора элементов массива или свойств объекта был классический цикл for с счетчиком. Да, он отлично справлялся с задачей, но код получался громоздким и не очень. . .
Отличия implementation, api и compile в Gradle
hw_wired 14.02.2025
Управление зависимостями - одна из ключевых задач при разработке современных приложений на Java и Kotlin. Система сборки Gradle предоставляет гибкие и мощные средства для работы с зависимостями,. . .
Что лучше: require или import/export в JavaScript
hw_wired 14.02.2025
Модульность в JavaScript прошла долгий путь эволюции, и сегодня у разработчиков есть два основных способа организации модулей: старый добрый require из системы CommonJS и современные import/ export из. . .
Ошибка "Uncaught SyntaxError: Cannot use import statement outside a module"
hw_wired 14.02.2025
Думаю, многие разработчики сталкивались с ошибкой "Uncaught SyntaxError: Cannot use import statement outside a module" при попытке использовать современный синтаксис импорта в JavaScript. Эта. . .
Ошибка Docker "Got permission denied while trying to connect to the Docker daemon socket at"
hw_wired 14.02.2025
Разработка с использованием Docker может иногда преподносить неожиданные сюрпризы, и одним из самых распространенных камней преткновения становится ошибка с отказом в доступе к демону Docker. . . .
Ошибка "No 'Access-Control-Allow-Origin' header is present on the requested resource"
hw_wired 14.02.2025
При разработке современных веб-приложений нередко сталкиваешься с ошибкой "No 'Access-Control-Allow-Origin' header is present on the requested resource". Эта проблема возникает из-за политики. . .
Как закрыть порт в Linux
hw_wired 14.02.2025
Управление сетевыми портами в Linux - непростая, но важная задача для обеспечения безопасности системы. Каждый открытый порт - это потенциальная уязвимость, через которую злоумышленики могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru