Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
Akima
0 / 0 / 0
Регистрация: 06.07.2010
Сообщений: 8
1

Сортировка слов по длине

15.07.2010, 12:53. Просмотров 2165. Ответов 4
Метки нет (Все метки)

На языке ассемблер в компиляторе TASM, нужно написать программу:
Дано предложение, состоящее из нескольких слов, разделенных пробелами. Реализуйте подпрограмму, записывающую слова в порядке убывания их длины. Например "работа и труд все перетрут" должно получиться "перетрут работа труд все и".
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.07.2010, 12:53
Ответы с готовыми решениями:

Сортировка по длине слов в строке в тасме
Здравствуйте, решал задачу по ассемблеру и возникла проблема с типом данных, но я так и не смог ее...

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

Сортировка слов по их длине
Ввести строку. На печать выдать новую строку в которой все слова расположены в порядке возрастания...

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

Сортировка масива по длине слов
суть работы: написать программу, которая будет считывать определенное количество слов в чар массив,...

4
vital792
2003 / 1275 / 60
Регистрация: 05.06.2010
Сообщений: 2,213
17.07.2010, 09:29 2
Судя по молчанию на форуме никто не хочет за тебя работать)) - задачка то не минутная. Ты лучше выложи тут свои попытки(если таковые имелись) а мы подскажем что исправить и что добавить.
1
Akima
0 / 0 / 0
Регистрация: 06.07.2010
Сообщений: 8
17.07.2010, 10:34  [ТС] 3
Вот нашел пример в интернете чуть-чуть переделал работает
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
.model small;   
.stack 100h;    
.data
i dw 0h
String db ': $' 
Stg db 100h dup(0h);     Массив для строки  
.code   
Start:
Sort proc
mov ax, @data
mov ds, ax;
mov ah, 00h;     Очистка экрана
mov al, 2h; 
int 10h
mov ah, 09h
Lea dx, String
int 21h 
mov ah, 1h;  Ф-я ввода символа
mov si, 0h
mov bx, 0h
Input:   ;Ввод массива
int 21h
mov cx, si
mov Stg[bx], cl;     Длина слова
cmp al, 32;  Проверка на пробел
jne Skip1
mov si, 0h
add bx, 10h;     Начало следующего слова
jmp Input
Skip1:
inc si
mov Stg[bx+si], al;  Помещение символа в массив 
cmp al, 13
jne Input
mov Stg[bx+si], 0h;  Удаление Enter'а
mov i, bx;   Кол-во слов
mov bx, 0h
Sort1:   ;Выборочная сортировка
mov di, bx;  Индекс минимальной длины
mov ax, bx
add ax, 10h
Sort2:
mov si, ax
 
mov cl, Stg[di]
cmp cl, Stg[si]
jae Skip2
mov di, si;  Если меньше
Skip2: 
add ax, 10h
cmp ax, i
jbe Sort2
mov si, 0h
Sort3:
moV cl, Stg[bx+si]; Смена слов
mov al, Stg[di]
mov Stg[bx+si], al
mov Stg[di], cl
inc si
inc di
cmp si, 10h
jb Sort3
add bx, 10h
cmp bx, i
jb Sort1
mov ah, 02h; Ф-я установки позиции курсора:
mov bh, 0h;  № Страницы 
mov dh, 2h; № строки
mov dl, 0h; № столбца
int 10h
mov bx, 0h
mov si, 0h
mov ah, 2h;  Ф-я вывода символа
Output:  ;Вывод массива
inc si
mov dx, word ptr Stg[bx+si]
cmp dx, 0h
jne Skip3
cmp bx, i
je Exit
mov si, 0h
add bx, 10h
mov dx, ' ' 
Skip3:
int 21h
cmp bx, i
jbe Output
Exit:
mov ah, 4ch;
int 21h 
Sort endp
End Start
0
vital792
2003 / 1275 / 60
Регистрация: 05.06.2010
Сообщений: 2,213
17.07.2010, 10:38 4
То есть вопрос снят? пример вроде работает корректно, или что то не так?
0
Akima
0 / 0 / 0
Регистрация: 06.07.2010
Сообщений: 8
17.07.2010, 11:17  [ТС] 5
Да, вопрос снят все работает корректно.
0
17.07.2010, 11:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.07.2010, 11:17

Сортировка слов в строке по длине слова
Помогите пожалуйста с алгоритмом сортировки строки. Необходимо осуществить сортировку строки чтобы...

Сортировка слов по длине первого слова
Хотелось бы понять, почему в нижнем цикле я ставлю || != '\n' вместо && != '\n' то проиходит ошибка...

Как отсортировать строки по кол-ву слов и слова в строке по длине слов
Суть задания:Вводить последовательность не более чем 256 символов,ввод заканчивается...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru