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

Добавление подстроки к каждому слову строки

29.01.2015, 18:33. Показов 1337. Ответов 17
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеется задание: Ввести с клавиатуры строку. Добавить к каждому слову подстроку "бай". Пример -> Примербай.

Подскажите, как именно реализовать добавление "бай" к каждому слову?

В теории надо циклом искать символ пробела в строке, сравнивая регистр al с пробелом:
Assembler
1
cmp al, ' '
а потом заменять его на 'бай '.

Непонятки:
1) Не могу понять, как сделать цикл, который бы обрабатывал каждый символ строки, ведь заранее число символов не известно.
Поставить там условие выхода?
Assembler
1
cmp al,'$'
2) Какой командой выполнить замену символа пробела на 4 символа('бай' + ' ')? Командой mov?

К тому же, в моём способе есть минимум 2 недостатка:
  • если между словами будет более одного пробела, то в изменённой строке "бай" будет не только в конце слов, но и между ними;
  • к последнему слову строки, если строка не завершается пробелом, не будет добавлена подстрока "бай".
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.01.2015, 18:33
Ответы с готовыми решениями:

Вывод строки из файла по ключевому слову
Доброго времени суток! Помогите пожалуйста в решении такого задания: Нужно сформировать файл со...

Добавление подстроки в строку после заданного символа + перевод с Tasm на intel
В общем, вот такое задание "В исходную строку вставить после заданного символа все символы,...

Поток string (получить доступ к каждому слову строки и к каждому символу каждого слова для сортировки)
#include<iostream> #include<fstream> #include<string> using namespace std; int main() { ...

Изменить программу "Добавление префикса к каждому слову в файле"
Задача - программа читает txt файл и добавляет префикс 'ак' к каждому слову, записывая то что вышло...

17
0 / 0 / 0
Регистрация: 08.04.2014
Сообщений: 58
29.01.2015, 18:42 2
Цитата Сообщение от LordCezis Посмотреть сообщение
Подскажите, как именно реализовать добавление "бай" к каждому слову?
Искать нужно не только " ", но и все знаки препинания\спецсимволы (.,"!?%@ ...). А также 00h, т.к. в строке может быть больше одного предложения, которые в свою очередь могут быть сложными (разделяться запятыми).
Реализация: резервируем память под вторую строку и перетаскивая каждую букву проверяем на означенное количество знаков. Ничего сложного.

Не по теме:


И таки да, "бай" - не очень подходящий подстрочник. С союзом "и" будет образована прямо скажем несолидная конструкция с точки зрения гармонизации слуховых ассоциаций.

0
5 / 5 / 3
Регистрация: 13.05.2012
Сообщений: 71
29.01.2015, 18:47  [ТС] 3
Цитата Сообщение от SAq Посмотреть сообщение
Реализация: резервируем память под вторую строку и перетаскивая каждую букву проверяем на означенное количество знаков. Ничего сложного.
Не сложно, если известно, как это сделать
Можно пример этого действа в виде кода?
0
Клюг
7674 / 3189 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
29.01.2015, 19:02 4
Цитата Сообщение от LordCezis Посмотреть сообщение
1) Не могу понять, как сделать цикл, который бы обрабатывал каждый символ строки, ведь заранее число символов не известно.
ORLY? В досе нам любезно возвращают длину, а в винде есть strlen, да и в досе тоже.
Цитата Сообщение от LordCezis Посмотреть сообщение
если между словами будет более одного пробела, то в изменённой строке "бай" будет не только в конце слов, но и между ними;
Т.к. в repne scasb edi указывает на следующий псле найденного символ, это решаемо.
Цитата Сообщение от LordCezis Посмотреть сообщение
к последнему слову строки, если строка не завершается пробелом, не будет добавлена подстрока "бай".
Добавляется принудительно.
0
0 / 0 / 0
Регистрация: 08.04.2014
Сообщений: 58
29.01.2015, 19:18 5
Цитата Сообщение от LordCezis Посмотреть сообщение
Можно пример этого действа в виде кода?
Если вы мне скачаете электронную книгу, где бы подробно (с примерами!) разбиралось бы программирование DirectX9 на ассемблере, то я вам не только этот, а еще и 10 следующих примеров решу и напишу.
Клянусь!
0
5 / 5 / 3
Регистрация: 13.05.2012
Сообщений: 71
29.01.2015, 22:18  [ТС] 6
Цитата Сообщение от SAq Посмотреть сообщение
Если вы мне скачаете электронную книгу, где бы подробно (с примерами!) разбиралось бы программирование DirectX9 на ассемблере, то я вам не только этот, а еще и 10 следующих примеров решу и напишу.
Клянусь!
Я то скачал, но с ассемблером не знаком.
Вам читать с "Глава 2.2. Графика: GDI+, DirectX, OpenGL" - страница 117.

В архиве лежит торрент файл на скачивание полной версии книги у меня (:
Владислав Пирогов.Ассемблер для Windows 4-ое издание.pdf.rar

Жду решение задачи.
Точнее куска кода добавки подстроки ко всем введённым словам.
0
5 / 5 / 3
Регистрация: 13.05.2012
Сообщений: 71
29.01.2015, 22:28  [ТС] 7
Страница 132 по нумерации pdf-ки.
0
0 / 0 / 0
Регистрация: 08.04.2014
Сообщений: 58
29.01.2015, 22:33 8
Цитата Сообщение от LordCezis Посмотреть сообщение
Я то скачал, но с ассемблером не знаком.
Вам читать с "Глава 2.2. Графика: GDI+, DirectX, OpenGL" - страница 117.
В архиве лежит торрент файл на скачивание полной версии книги у меня (:
Владислав Пирогов.Ассемблер для Windows 4-ое издание.pdf.rar
Жду решение задачи.
Точнее куска кода добавки подстроки ко всем введённым словам.
Как и обещал.

Кликните здесь для просмотра всего текста

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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
; #############################################
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  lodsb
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
; #############################################
В книге в общей сложности 234 озаглавленные темы. Поскольку только 1 из 234 статей посвящена DirectX9, то я с полным правом помогаю вам только с одной строкой.


Давайте следующие 10 примеров.
0
5 / 5 / 3
Регистрация: 13.05.2012
Сообщений: 71
29.01.2015, 22:43  [ТС] 9
Цитата Сообщение от SAq Посмотреть сообщение
Как и обещал.
И где решение?
Не вижу код этого цикла с проверкой символов и переносом символов в другую строку.

Не думаю, что кому-то нравится, когда вместо помощи, кто-то выделывается.
Если не хотите/не можете помочь, то не надо в теме писать и ставить условия.
0
SAq
29.01.2015, 23:01
  #10

Не по теме:

Цитата Сообщение от LordCezis Посмотреть сообщение
Не думаю, что кому-то нравится, когда вместо помощи, кто-то выделывается.
Если не хотите/не можете помочь, то не надо в теме писать и ставить условия.
Я же просил книгу, а 1 статью на всю книгу.
Я, можно сказать, вам дал бесплатный урок внимательного чтения того, что написано. Запомните! Это очень пригодится вам в жизни. Пригодится гораздо больше, чем полученное на халяву, и ничего не стоящее, решение. Я вас уверяю.

0
LordCezis
29.01.2015, 23:21  [ТС]
  #11

Не по теме:

Цитата Сообщение от SAq Посмотреть сообщение
Я же просил книгу, а 1 статью на всю книгу.
Я, можно сказать, вам дал бесплатный урок внимательного чтения того, что написано. Запомните! Это очень пригодится вам в жизни. Пригодится гораздо больше, чем полученное на халяву, и ничего не стоящее, решение. Я вас уверяю.
1) Как я уже написал: не хотите/не можете помочь - не засоряйте тему:stop:.
2) Я просил пример кода, а не решения всей задачи. Для чего и привёл только 1 строку из задачи.
3) Хотите книгу по программированию под DirectX*? - ищите под те языки, на которых кодят 3D проекты чаще: С#, С++, Delphi...
Для Ассемблера, да ещё и на русском языке, книг таких не откопаете.

P.S.: Теперь понятно, отчего у вас счётчик полезных сообщений и благодарностей на 0 стоит:D.

0
Клюг
7674 / 3189 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
30.01.2015, 07:24 12
Цитата Сообщение от LordCezis Посмотреть сообщение
Можно пример этого действа в виде кода?
Дык, подо что пишем-то? DOS/DOS32(DPMI)/win/UNIX/Linux?
0
5 / 5 / 3
Регистрация: 13.05.2012
Сообщений: 71
30.01.2015, 13:54  [ТС] 13
Цитата Сообщение от Charles Kludge Посмотреть сообщение
Дык, подо что пишем-то? DOS/DOS32(DPMI)/win/UNIX/Linux?
Под MS-DOS.
Образ смонтировал через DOSBox.
0
Клюг
7674 / 3189 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
30.01.2015, 14:03 14
Цитата Сообщение от LordCezis Посмотреть сообщение
Под MS-DOS.
И на чём? тасм/масм/фасм?
0
5 / 5 / 3
Регистрация: 13.05.2012
Сообщений: 71
30.01.2015, 21:59  [ТС] 15
Цитата Сообщение от Charles Kludge Посмотреть сообщение
И на чём? тасм/масм/фасм?
На TASM под архитектуру i386.
0
Клюг
7674 / 3189 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
31.01.2015, 02:33 16
Цитата Сообщение от LordCezis Посмотреть сообщение
На TASM
Занимайтесь онанизмом без меня. И да, передайте вашему преподу-некрофилу, что "риформа абразания в расеи удалась." © Джордж Сорос.
0
0 / 0 / 0
Регистрация: 08.04.2014
Сообщений: 58
31.01.2015, 19:43 17
LordCezis, в синтаксисе Тасма я не разбираюсь, поэтому концептуально ваше решение будет выглядеть следующим образом:
1. Организовываем цикл чтения строки источника и записи строки получаетля.
Далее в цикле:
2. Читаем символ, проверяем на пробел и спецсимволы(если нужно);
3а. Если не равно, то записываем символ в счтроку получатель;
3б. Если равно, то переносим блок из зарезервырованного подстрочника;
4. Если "0" (конец строки), то после переноса блока закрываем строку точкой.

Вот, всё.
0
5 / 5 / 3
Регистрация: 13.05.2012
Сообщений: 71
01.02.2015, 20:47  [ТС] 18
Цитата Сообщение от Charles Kludge Посмотреть сообщение
Занимайтесь онанизмом без меня. И да, передайте вашему преподу-некрофилу, что "риформа абразания в расеи удалась." © Джордж Сорос.

Значит напишу на любимом С++, а потом просто дебаггером код достану и так сдам
0
01.02.2015, 20:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.02.2015, 20:47
Помогаю со студенческими работами здесь

К каждому слову добавить невидимое окончание
Всем доброго времени суток! Необходимо к каждому слову в тексте (word) добавить оканчание...

Алгоритм для добавления символа к каждому слову
Имеется большое число(32 000) написанных в столбец слов в текстовом файле (txt) Пример one two ...

Обрабатывать нажатие отдельно по каждому слову в TextBox
Всем здравия, форумчане! Нужен совет: как можно обрабатывать нажатие отдельно по каждому слову в...

Каждому слову из строчки присвоить дату, стоящую в конце
Значит проблема такая есть строка в текстовом файле: Глава Газпромбанка рассказал о дочери Путина,...


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

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

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