#define IN 1 //внутри слова #define OUT 0 //вне слова
int main() { string s; getline(cin, s); int state = OUT; //позиция s = ' ' + s + ' '; int k = 0; //позиция начала слова for (int i = 0; i < s.size(); i++) if (s[i] == ' ') { if (state == IN && s[k] == s[i - 1]) cout << s.substr(k, i - k + 1) << endl; state = OUT; } else if (state == OUT) { k = i; state = IN; } return 0; }
.MODEL small .STACK 256 .code start: MOV BL,3 MOV AL,2 MUL BL ; вывод содержимого регистра ax на экран mov bl,10 mov cx,0 b: div bl ; в al - частное, ah - остаток add ah,48 ; в ah - код младшей цифры push ax mov ah,0 inc cx cmp al,0 jne b ; вывод на экран через BIOS c: pop ax mov al,ah mov ah, 0eh int 10h ; вывод символа dec cx jnz c ; ожидание ввода с клавиатуры mov ah,01h int 21h ; завершение программы mov ax,4C00h int 21h END start
#include <string>
using namespace std;
#define IN 1 //внутри слова
#define OUT 0 //вне слова
int main()
{
string s;
getline(cin, s);
int state = OUT; //позиция
s = ' ' + s + ' ';
int k = 0; //позиция начала слова
for (int i = 0; i < s.size(); i++)
if (s[i] == ' ') {
if (state == IN && s[k] == s[i - 1])
cout << s.substr(k, i - k + 1) << endl;
state = OUT;
} else if (state == OUT) {
k = i;
state = IN;
}
return 0;
}
.STACK 256
.code
start:
MOV BL,3
MOV AL,2
MUL BL
; вывод содержимого регистра ax на экран
mov bl,10
mov cx,0
b: div bl ; в al - частное, ah - остаток
add ah,48 ; в ah - код младшей цифры
push ax
mov ah,0
inc cx
cmp al,0
jne b
; вывод на экран через BIOS
c: pop ax
mov al,ah
mov ah, 0eh
int 10h ; вывод символа
dec cx
jnz c
; ожидание ввода с клавиатуры
mov ah,01h
int 21h
; завершение программы
mov ax,4C00h
int 21h
END start