Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 27.04.2018
Сообщений: 15
1
emu8086

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

27.04.2018, 23:25. Показов 1394. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дан текст, состоящий из 6 слов по 8 символов, разделенных пробелом. Переставить слова в тексте так, чтобы каждое следующее слово начиналось с той буквы, на которую закончилось предыдущее. Первое слово оставить на месте.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.04.2018, 23:25
Ответы с готовыми решениями:

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

Переставить слова таким образом, чтобы каждое следующее начиналось с последней буквы предыдущего
Нужно что-то вроде игры в города. Суть в чём: дан текст, переставить слова в нём таким образом,...

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

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

8
Модератор
Эксперт по электронике
8522 / 4376 / 1648
Регистрация: 01.02.2015
Сообщений: 13,600
Записей в блоге: 9
27.04.2018, 23:39 2
Формально - это задача решается методом перебора "поиск в глубину" (ПВГ) или "поиск в ширину" (ПВШ).
Скорее всего - ПВГ.

Или же полным перебором - когда из существующей перестановки получают следующую. Там вариантов перестановок 6!=720.
0
Прощай, Мир!
1672 / 830 / 253
Регистрация: 26.05.2012
Сообщений: 3,056
28.04.2018, 00:37 3
Artemka321, а если не найдется такого подходящего слова, которое бы начиналось на требуемую букву?
0
0 / 0 / 0
Регистрация: 27.04.2018
Сообщений: 15
01.05.2018, 21:09  [ТС] 4
Дан текст, состоящий из 6 слов по 8 символов, разделенных пробелом. Переставить слова в тексте так, чтобы каждое следующее слово начиналось с той буквы, на которую закончилось предыдущее. Первое слово оставить на месте.

Не выводит правильный результат, в чем моя ошибка?
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
.DATA     
   str1 db 'Bkjhdsda kdhjsiye anljksfk easdsanx masdjooiu xhlihism','$'  
    len equ $-str1
    str2 db len dup(?) 
.code
    assume ds:@data, es:@data
main:
    mov ax,@data
    mov ds,ax
    mov es,ax
    
    lea si,str1
    call vivod 
    lea di,str2  
    mov cx,5
    cikl:
    mov al,[di-2]
    push di
    push cx
    mov cx,len-9 
    lea di,str1+9
@b:
    repne scasb   
    cmp byte ptr [di],20h
    jne @f
    loop @b
@f:
    dec di   
    mov si,di
    pop cx
    pop di  
    loop cikl 
    jmp exit 
     
vivod:
    mov ah,09h
    int 21h 
     
exit:
 
    mov ah,09h
    int 21h 
 
    mov ax,4c00h
    int 21h 
 
end main
0
Модератор
Эксперт по электронике
8522 / 4376 / 1648
Регистрация: 01.02.2015
Сообщений: 13,600
Записей в блоге: 9
01.05.2018, 21:36 5
А что происходит в вашем коде?
Какой алгоритм выбран?
0
0 / 0 / 0
Регистрация: 27.04.2018
Сообщений: 15
01.05.2018, 22:01  [ТС] 6
вывод получается такой. первая строка просто какое у нас заданно предложение, а вторая дублируется
Миниатюры
Переставить слова в тексте так, чтобы каждое следующее слово начиналось с той буквы, на которую закончилось предыдущее  
0
Модератор
Эксперт по электронике
8522 / 4376 / 1648
Регистрация: 01.02.2015
Сообщений: 13,600
Записей в блоге: 9
01.05.2018, 22:24 7
Если решать задание полноценно, то вы должны реализовать "поиск в глубину" - рекурсивно или итеративно.
Или же задача подразумевает какие-то ограничения или послабления, и алгоритм упрощается.

Что по этому поводу говорится в методичке? Что говорит преподаватель на консультации?

Добавлено через 4 минуты
Для понимания того, о чём я говорю - решите эту задачу на любом другом языке программирования.
Можете упростить условие тем, что на входе не строка, а массив слов.

Добавлено через 1 минуту
Такое решение поможет отработать алгоритм, который уже можно переносить на ассемблер.

Добавлено через 1 минуту
А на данном этапе - вы просто перебираете какие-то инструкции процессора.

Добавлено через 1 минуту
Давайте так. Сделайте рабочую программу на C или Pascal и я переведу её на ассемблер.
0
0 / 0 / 0
Регистрация: 27.04.2018
Сообщений: 15
03.05.2018, 23:07  [ТС] 8
спасибо
уже сам разобрался, можете пожалуйста помочь с другой задачей? перевести с паскаля на ассемблер
0
Модератор
Эксперт по электронике
8522 / 4376 / 1648
Регистрация: 01.02.2015
Сообщений: 13,600
Записей в блоге: 9
03.05.2018, 23:18 9
Одна тема - одна задача.

Если считаете возможным - создаёте новую тему. Нет - не создаёте.

Если посчитаете возможным - опубликуйте решение и краткие комментарии к нему. Т.к. там или реализация ПВГ или нужно упрощать алгоритм из-за особенностей исходных данных.
0
03.05.2018, 23:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.05.2018, 23:18
Помогаю со студенческими работами здесь

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

Преобразовать строку так, чтобы каждое слово начиналось с заглавной буквы
Есть два TextBox и понажатию button, надо что бы во второй строки слова начинались с заглавной буквы

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

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


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

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