Форум программистов, компьютерный форум, киберфорум
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/23: Рейтинг темы: голосов - 23, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 16.10.2010
Сообщений: 10

Сдвинуть элементы массива вправо на 3 позиции

16.10.2010, 07:20. Показов 4726. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите,пожалуйста с задачей,а то идей совсем нет -_- ))
Условие:Сдвинуть элементы массива вправо на 3 позиции.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.10.2010, 07:20
Ответы с готовыми решениями:

Сдвинуть элементы влево на 2 позиции циклически
Помогите поправить программу пжлст! Основная программа title lab4.1 stk segment stack dw 256 dup(0) stk ends data segment...

Сдвинуть элементы влево на 2 позиции циклически
Сабж. Пользователем вводится массив из n элементов. Написанной программой на 1 позицию влево сдвигается, но не получается дописать так,...

Элементы массива X циклически сдвинуть на 2 позиции вправо
Дано описание: X DW 100 DUP(?) Решить следующую задачу: элементы массива X циклически сдвинуть на 2 позиции вправо Помогите...

9
4190 / 1838 / 221
Регистрация: 06.10.2010
Сообщений: 4,124
16.10.2010, 12:47
Assembler
1
2
3
4
5
6
7
8
9
org 100h
mov cx,len
lea si,[mas+len-1]
lea di,[si+3]
std
rep movsb
ret
mas db 1,2,3,4,5,6,7,8,9,0
len = $-mas
1
 Аватар для Simonika
0 / 0 / 0
Регистрация: 12.10.2010
Сообщений: 46
16.10.2010, 15:10
получается вот так?

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
.386
        .model flat,stdcall
        option casemap :none   
 
      include c:\masm32\include\windows.inc
      include c:\masm32\include\user32.inc
      include c:\masm32\include\kernel32.inc
 
      includelib c:\masm32\lib\user32.lib
      includelib c:\masm32\lib\kernel32.lib
 
.data
         s1     db      'String'
        len     EQU     $-s1
        buf BYTE 6 dup(" ")
        stdin DWORD ?
        cRead DWORD ?
        msg     db      'stroki raznie',0 ;сообщение
        msg1     db      'stroki odinakovie',0 ;сообщение               
        dlgtl    db 'Result',0       ;заголовок сообщения о результате работы
        
.code
  start:
 
org 100h
mov cx,len
lea si,[mas+len-1]
lea di,[si+3]
std
rep movsb
ret
mas db 1,2,3,4,5,6,7,8,9,0
len = $-mas
 
invoke MessageBox, 0, ADDR msg1, ADDR dlgtl, MB_OK ;  вывод результата
 
_exit:
invoke ExitProcess,0  ; завершение работы программы
end start
0
65 / 65 / 1
Регистрация: 14.04.2010
Сообщений: 170
16.10.2010, 15:25
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
.386
        .model flat,stdcall
        option casemap :none   
 
      include c:\masm32\include\windows.inc
      include c:\masm32\include\user32.inc
      include c:\masm32\include\kernel32.inc
 
      includelib c:\masm32\lib\user32.lib
      includelib c:\masm32\lib\kernel32.lib
 
.data
        mas     db      'String'
        len     EQU     $-mas
.code
start:
 
    mov ecx,len
    lea esi,[mas+len-1]
    lea edi,[esi+3]
    std
    rep movsb
    mov al," "
    mov ecx,len-3
    rep stosb
    cld
invoke ExitProcess,0  ; завершение работы программы
end start
2
 Аватар для Simonika
0 / 0 / 0
Регистрация: 12.10.2010
Сообщений: 46
16.10.2010, 15:31
Спасибо большое=)) Я вроде немного понимаю.... но не до конца
0
65 / 65 / 1
Регистрация: 14.04.2010
Сообщений: 170
16.10.2010, 15:42
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
.386
        .model flat,stdcall
        option casemap :none   
 
      include c:\masm32\include\windows.inc
      include c:\masm32\include\user32.inc
      include c:\masm32\include\kernel32.inc
 
      includelib c:\masm32\lib\user32.lib
      includelib c:\masm32\lib\kernel32.lib
 
.data
        mas     db      'String'
        len     EQU     $-mas
.code
start:
 
        mov ecx,len    ;количество перебираемых символов
        lea esi,[mas+len-1]    ;esi указывает на 'g' из String
        lea edi,[esi+3]    ;edi указывает на 3-и байта вперёд по условию
        std    ;если без этого, то rep movsb будет перемещать не назад символы а вперёд:String......>
        rep movsb    ;перемешение (копирование) из esi в edi
        mov al," "    ;когда переместили то затирается остаток строки StrString пробелами
        mov ecx,len-3
        rep stosb    ;stosb - вставление пробелов!
        cld
invoke ExitProcess,0  ; завершение работы программы
end start
2
 Аватар для Simonika
0 / 0 / 0
Регистрация: 12.10.2010
Сообщений: 46
16.10.2010, 15:47
благодарю=))
0
0 / 0 / 0
Регистрация: 16.10.2010
Сообщений: 10
16.10.2010, 17:37  [ТС]
Спасибо вам,люди добрые))))очень признателен -_^
0
4190 / 1838 / 221
Регистрация: 06.10.2010
Сообщений: 4,124
16.10.2010, 17:39
mov ecx,len-3
Видимо тут должно быть "mov ecx,3", ведь надо вставить 3 пробела.
2
65 / 65 / 1
Регистрация: 14.04.2010
Сообщений: 170
17.10.2010, 00:40
Та то понятно, что надо вставить пробелы. Правда влезли чуть не туда! А ведь len зависит именно от длины строки! Конечно и так показано правильно! Но не в этом дело ведь!
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.10.2010, 00:40
Помогаю со студенческими работами здесь

Элементы одномерного массива целых чисел сдвинуть циклически вправо на k позиций
как ето сделать?

Циклически сдвинуть элементы массива на две позиции вправо
Доброго времени суток уважаемые форумчане! Совсем недавно я начал изучать программирование и столкнулся с такой задачей для языка Pascal:...

Сдвинуть элементы массива на три позиции вправо (сдвиг выполнить не циклический)
Дан одномерный массив М из 10 элементов. Сдвинуть его элементы на три позиции вправо (сдвиг выполнить не циклический)

Дан линейный массив из N целых чисел (N=10). Циклически сдвинуть элементы этого массива на две позиции вправо
Дан линейный массив из N целых чисел (N=10). Циклически сдвинуть элементы этого массива на две позиции вправо. Указание: циклический сдвиг...

Дан одномерный массив М из 10 элементов. Сдвинуть его элементы на три позиции вправо
Под удалением элемента массива следует понимать: 1) исключение этого элемента из массива путем смещения всех следующих за ним элементов...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru