Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 23.06.2015
Сообщений: 11

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

08.12.2015, 20:41. Показов 810. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно использовать вставку из ассемблера. Не знаю как сравнить элементы из pointer с русским алфавитом, заменить их элементами по правилам транслитерации и записать то, что получилось в OutputString. Очень прошу помочь, заранее спасибо.

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
#include <iostream>
#include <windows.h>
#include <fstream>
 
using namespace std;
const int sizeofmass = 80;
 
 
int length(char mass[])
{
int i;
for (i = 0; mass[i] != NULL; i++);
return i;
 
}
 
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
ofstream outFile("output.txt");
char mass[sizeofmass];
char alph[sizeofmass][5] = { "a","b","v","g","d","ye","ye","zh","z","i","y","k","l","m","n","o","p","r","s","t","u","f","kh","ts","ch","sh","shch","","y","","e","yu","ya" };
cout << "Введите строку: " << endl;
if (!cin.getline(mass, sizeofmass))
{
cout << "Введено больше 80 символов. Программа будет завершена." << endl;
system("pause");
return 0;
}
if (mass[0] == '\0')
{
cout << "Пустая строка." << endl;
system("pause");
return 0;
}
char *pointer = mass;
outFile << "Введина срока: " << pointer << endl;
char *OutputString = new char(length(mass));
_asm
{
.data
 
}
cout << "Изменённая строка: " << OutputString << endl;
outFile << "Изменённая строка: " << OutputString << endl;
cin.clear();
system("pause");
 
return 1;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.12.2015, 20:41
Ответы с готовыми решениями:

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

Напечатать гистограмму появления различных введенных символов во входной строке
https://pastebin.com/TmSTh9Ue - Тут моя программа, но она не компилируется Исправьте, где ошибки пожалуйста #include...

Напишите программу, печатающую гистограмму появления различных введенных символов во входной строке
1) Напишите программу, печатающую гистограмму появления различных введенных символов во входной строке.

2
 Аватар для Mesteriis
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
08.12.2015, 20:46
youra, можно вопрос а на кой черт тебе вставка из асма? или это условие задачи?
0
0 / 0 / 0
Регистрация: 23.06.2015
Сообщений: 11
10.12.2015, 17:53  [ТС]
Это условие задачи... Нам обязательно нужно понять как это работает. Не знаю как символы в OutputString вставить, который введен не в асме...

Добавлено через 1 час 30 минут
Я пытался сделать, заменяет первую букву, но дальше по строке не идет... Записал замену для 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
_asm
{
    mov dx, 0
    mov esi, pointer
    mov edi, OutputString
    step:
        lodsb       
        test al, al 
        je exit_    
        mov dh, 'a'
        cmp al, dh
        jne b       
        mov ah, mas1[dh] 
        stosw
        jmp step
    b:  
        cmp al, 'б'
        jne v       
        mov ax, 'b'
        stosw
        jmp step
    v:  
        cmp al, 'в'
        jne end     
        mov ax, 'v'
        stosw
        jmp step
        
 
end:
        stosb       
        ;stosw
        ;jmp step
    exit_: stosb    ; конец программы
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.12.2015, 17:53
Помогаю со студенческими работами здесь

Ввести строку латинских и русских букв вперемешку. Заменить в ней все русские буквы латинскими
Ввести строку латинских и русских букв вперемешку. Заменить в ней все русские буквы латинскими. #include &lt;iostream&gt; #include...

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru