Форум программистов, компьютерный форум, киберфорум
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 Аватар для Ded_Vasilij
233 / 215 / 63
Регистрация: 01.09.2012
Сообщений: 2,103

поиск одинаковых символов в строках

24.03.2013, 23:28. Показов 2675. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер всем. У меня такая проблема. есть задача: указать те символы, которые есть в первой и второй строке.
вот что у меня получилось:
это задание, так на всякий случай, чтоб не спрашивали почему вставки, а не чистый ассемблер.
/*
Задание выполняется на Visual C++ 2003 - 2008 с использованием
ассемблерных вставок. В этом задании необходимо выполнить соответствующие
преобразования над строкой или строками. Решение задачи необходимо оформить
в виде одной или несколько подпрограмм, содержащих ассемблерные вставки. Как
правило, в каждом задании по одной или двум входным строкам надо
получить выходную строку, удовлетворяющую определенным условиям, причем
под выходную строку необходимо выделить память и сделать это надо внутри
ассемблерной вставки. Кроме того, программа должна иметь "дружелюбный"
интерфейс (например, предлагать выполнить повторное тестирование). Ввод
данных из файла не требуется, хотя приветствуется. Ввод/вывод с
консоли выполнять с помощью функций printf и scanf, вызов которых
тоже должен происходить внутри ассемблерных вставок.
Указать те символы, которые есть и в первой и во второй строке.
*/
C++
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
#include <iostream>
#include <stdio.h>
void main()
{
    const int N = 10;
    char* st1;
    char*  st2;
    char* res;
    __asm
    {
        // выделение памяти и считывание первой строки
        mov     eax, N                  ; положили в еах размер строки
        inc     eax                     ; увеличили размер на 1 под 0 символ
        push    eax
        call    dword ptr malloc        ; выделяем память под первую строку
        add     esp, 4                  ; чистим стек
        mov     st1, eax                
        cmp     eax, 0
        je      FIN                     ; если памяти не хватило выход, в случае нехватки памяти malloc возвращает 0     
                
        push    eax                     ; положили в стек адрес первой строки
        call    dword ptr gets          ; считали строку 
        add     esp,4                   ; убрали из стека адрес первой строки
 
        mov     ebx,st1                 ; запомнили адрес первой строки
        // выделение памяти и считывание второй строки
        mov     eax, N                  ; положили в еах размер строки
        inc     eax                     ; увеличили размер на 1 под 0 символ
        push    eax
        call    dword ptr malloc        ; выделяем память под вторую строку
        add     esp, 4                  ; чистим стек
        mov     st2, eax                
        cmp     eax, 0
        je      FIN                     ; если памяти не хватило выход, в случае нехватки памяти malloc возвращает 0 
 
        push    eax                     ; положили в стек адрес второй строки
        call    dword ptr gets          ; считали строку 
        add     esp,4                   ; убрали из стека адрес второй строки
        
        mov     ecx,st2
        
        // подсчет символов
        xor     esi,esi
CYCLE_1:
        cmp     ebx,0       
            mov     dl,[eax][esi]
        cmp     dl,0
            je NEXT
 
            
FIN :
 
    }
    system ("pause");
}
понятно что здесь должно быть два цикла, и в случае совпадения символ должен копироваться в результирующую строку, вот здесь собственно говоря проблема - с циклом не могу разобраться - что я не так сделал - подскажите пожалуйста
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.03.2013, 23:28
Ответы с готовыми решениями:

Поиск одинаковых подстрок в строках
Имеется 2 урла, нужно получить одинаковые их части. Подскажите, желательно какую-нибудь стандартную функцию php. Что-то ниче в голову не...

Поиск одинаковых слов в строках
Здравствуйте, такой вопрос - нужно создать множество строк S и скопировать их в другое множество строк S2, но исключить те слова, которые...

Подсчет количества символов разного вида на одинаковых позициях в разных строках
Добрый день. нужна помощь в написании программки. Я только недавно начал изучать С++ и еще много чего не понимаю. Поэтому и прошу...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.03.2013, 23:28
Помогаю со студенческими работами здесь

Поиск одинаковых элементов в двумерном массиве как в строках так и в столбцах
Поиск одинаковых элементов в двумерном массиве как в строках так и в столбцах а если эти элементы не совпадают то показывает что матрица...

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

Поиск одинаковых символов в строке
Доброго времени суток, вопрос в следующем : Если в строке есть одинаковые символы, то нужно вернуть значение True, если нет, то...

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

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


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
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 на бесплатный. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru