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

Вывести слова, которые встречаются в тексте ровно один раз

02.03.2011, 20:12. Показов 1270. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
может, кто знает, помогите пожалуста решить задачу: дано - текст, слова в котором разделены пробелами, вывести те слова которые встречаються в тексте ровно один раз...
вводимый текст привязан к регистру SI, а выводимый текст к регистру DI...
ввод и вывод текста работает, но вот сам алгоритм чего-то не получается сделать(
кто сможет помочь - заранее спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.03.2011, 20:12
Ответы с готовыми решениями:

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

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

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

Вывести в массиве только те слова, которые встречаются в тексте ровно один раз
16. Вывести только те слова, которые встречаются в тексте ровно один раз.

1
2 / 2 / 3
Регистрация: 11.04.2009
Сообщений: 67
07.03.2011, 10:52  [ТС] 2
Вот написал код, слова отделяет процедура search и записывает их в массив, а вот в процедуре поиска этого слова compare есть ошибка, но какая не ясно( может кто знает?
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
mydata segment para 'data'
 
buf db 100,0
str1 db 101 dup('$')
newline db 0dh,0ah,'$'
mas db 20 dup('$')
len dw ?
lenzag dw ?
nword  dw ?
mydata ends
mystack segment para 'stack'
   db 256 dup (?)
mystack ends
  
mycode segment para 'code'
  assume cs:mycode, ds:mydata, es:mydata
 
start:
  mov ax,mydata
  mov ds,ax
  mov es,ax
  xor bx,bx 
  lea dx,buf
  mov ah,0ah
  int 21h
  lea dx,newline
  mov ah,09h
  int 21h
 
  call lengz
 
mitka:
   call search
   call compare
   cmp bx,1
   jne m6
   lea dx,mas
   mov ah,09h
   int 21h
   mov ah,02h
   mov dl,' '
   int 21h
   inc si
m6:   
   mov ah,0
   mov al,0dh 
   cmp str1[si],al
   ja mitka
   mov ax,4c00h
   int 21h
lengz proc near
 xor bx,bx
 mov al,0dh
m7:  
  cmp str1[si],al
  je xxx
  inc si
  inc bx
  jmp m7
xxx:
   mov lenzag,bx
   xor ax,ax
   mov si,0
   ret
lengz endp
 
search proc near       
   mov cx,20
   mov al,'$'
   mov di,0
m2:
   mov mas[di],al
   inc di
   loop m2
   mov di,0
m1:
   mov al,' '
   cmp str1[si],al
   je ext
   mov ah,str1[si]
   mov mas[di],ah
   inc di
   inc si
   mov al,0dh
   cmp str1[si],al
   je ext
   jmp m1
ext:
   mov len,di
   mov di,0
   ret
search endp
 
compare proc near
    xor bx,bx
        push si
    mov al,str1[si]
    mov cx,lenzag
    lea di,str1
    repne scasb
    mov cx,len
    lea di,mas
    repe cmpsb
        cmp cx,0
    jne m5
    mov bx,1
        mov al,0dh
        cmp str1[si],al
        je me
m5: pop si
        jmp kaka
me:     mov ax,4c00h
        int 21h
kaka:
    ret 
 
 
compare endp
 
 
 
mycode ends
 
end start
0
07.03.2011, 10:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.03.2011, 10:52
Помогаю со студенческими работами здесь

Как Вывести только те слова, которые встречаются в тексте ровно один раз
Вот есть такая программа Вывести только те слова сообщения, которые содержат хотя бы одну цифру....

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

Вывести только те слова сообщения, которые встречаются в нем ровно один раз
Дано осмысленное текстовое сообщение (т.е. алфавитно-цифровая информация, разделенная пробелами и...

Вывести только те слова сообщения, которые встречаются в тексте один раз
Дано осмысленное текстовое сообщение (т.е. алфавитно-цифровая информация, разделенная пробелами и...


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

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

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