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

транслит

09.09.2010, 14:33. Показов 3090. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
ни как не пойму , как сделать чтобы к руской букве приделать другой синвол.ну типа там A=$ ну чтоб получилось когда я ввожу синволы на руском он мне переделал их на те которые я ему збил (типа транслита )

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "stdafx.h"
#include <iostream>
#include"windows.h"
using namespace std;
void main(void) 
{ 
setlocale (0,"");
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
char string[1251];
 
   cout << "Введите строку текста и нажмите Enter" << endl; 
   cin.getline(string, sizeof(string)); 
   cout << "Вы ввели: " << string << endl; 
}
но надо чтоб он не повторял а переводил в другие синволы (но ни в те которые идут по юникоду )
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.09.2010, 14:33
Ответы с готовыми решениями:

Транслит C++
Вроде все сделал правильно но русский язык все равно не читает. В чем проблема ? #include &quot;stdafx.h&quot; #include &lt;map&gt; ...

перевод русских букв в транслит
Задача: Перевести русские буквы в транслит, с ведением протокола.

Написать программу перекодировки текстового файла в транслит и наоборот
Мне нужно написать программу перекодировки текстового файла в транслит и наоборот, я все написал только ни как не получается профести...

11
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
09.09.2010, 14:46
Ну для этого надо пробежаться по строке и заменить каждый встреченный символ на необходимый. Либо простым прибавлением числа (если нужен фиксированный сдвиг), либо при помощи case'ов, если каждый символ заменяется на какой-либо конкретный, без закономерности. Пример:

C
1
2
3
4
5
6
7
8
9
void exchange(char *str)
{
    int len = strlen(str);
    int i;
    
    for (i = 0; i < len; i++)
        if (str[i] == 'A')
            str[i] = '$';
}
Функция заменяет все встреченные в строке символы "A" на символ "$".
0
 Аватар для Mencey
155 / 102 / 12
Регистрация: 22.07.2010
Сообщений: 445
09.09.2010, 16:47
Можно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <conio.h>
 
char a[] = "abcde";
char b[] = "12345";
 
int main(void)
{
  char c, *pc;
  while( 1 )
  {
    c = getch();
    pc = strchr( a, c );
    if( pc != NULL )
    {
      c = b[pc - a];
      std::cout << c;
    }
  }
}
Например при вводе символа 'a' будет выводидся символ '1' и т.д.
0
0 / 0 / 0
Регистрация: 09.09.2010
Сообщений: 6
20.09.2010, 13:05  [ТС]
silent_1991, а не могбы ламеру помоч ? могбы написать свой код полностью а то я чото ну ни как не догоню , пишет ошибку и все тут

C
1
2
3
4
5
6
7
8
9
void exchange(char *str)
{
    int len = strlen(str);
    int i;
    
    for (i = 0; i < len; i++)
        if (str[i] == 'A')
            str[i] = '$';
}
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
20.09.2010, 13:12
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
#include <stdio.h>
#include <conio.h>
 
void exchange(char *str)
{
    int len = strlen(str);
    int i;
 
    for (i = 0; i < len; i++)
        if (str[i] == 'A')
            str[i] = '$';
}
 
int main()
{
    char str[] = "ABCDEAAFFAAG";
    
    exchange(str);
    
    printf("%s", str);
    
    getch();
    return 0;
}
0
0 / 0 / 0
Регистрация: 09.09.2010
Сообщений: 6
20.09.2010, 13:33  [ТС]
silent_1991, а что это за ошибки ?
cpp(2) : warning C4627: '#include <conio.h>': skipped when looking for precompiled header use
cpp(25) : fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source?

а вот когда делаю так

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
#include "stdafx.h"
#include <iostream>
#include"windows.h"
#include <stdio.h>
#include <conio.h>
using namespace std;
 
void exchange(char *str)
{
    int len = strlen(str);
    int i;
 
    for (i = 0; i < len; i++)
        if (str[i] == 'A')
            str[i] = '$';
}
 
int main()
{
    char str[] = "ABCDEAAFFAAG";
    
    exchange(str);
    
    printf("%s", str);
    
    getch();
    return 0;
}
ошибки нет а прога не работает
появляется : ABCDEAAFFAAG
нажемаю любую клавешу и все
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
20.09.2010, 13:38
voodoo_upgrade,
Очччень странно... У меня всё работает... В двух разных средах... Здесь вроде нечему не работать...
1
0 / 0 / 0
Регистрация: 09.09.2010
Сообщений: 6
20.09.2010, 14:05  [ТС]
silent_1991, а вот смотри
C++
1
2
3
4
5
6
7
8
void exchange(char *str)
{
    int len = strlen(str);
    int i;
 
    for (i = 0; i < len; i++)
        if (str[i] == 'A')
            str[i] = '56';
вывожу прогу и получается что А заменяется на 6 а почему ни 56 ?
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
20.09.2010, 14:11
voodoo_upgrade,
Потому что 56 не является символом. Для замены одного символа строки на более чем один нужен совсем другой алгоритм, всё так просто не сделаешь.
1
0 / 0 / 0
Регистрация: 09.09.2010
Сообщений: 6
20.09.2010, 14:22  [ТС]
silent_1991, блин как все сложно а не подсабиш алгоритмом ?
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
20.09.2010, 14:35
voodoo_upgrade,
Алгоритм:
Копируешь исходную строку в новую до тех пор, пока очередной символ не будет равен тому, который надо заменить. Затем в новую строку после уже скопированных символов записываешь те символы, на которые ты хочешь заменить исходный символ. Так повторяешь до тех пор, пока исходная строка не закончится.
0
1 / 1 / 0
Регистрация: 24.12.2010
Сообщений: 127
03.06.2011, 12:21
здраствуйте а вот такой вариант транслита, лежит у меня txt файл где на каждой строке лежит буква и слог то как организовать так чтоб слово переводилось и выбирала именно тот символ что надо?? слов то мого!! нужно какойто сравнивание ?? нехочеться кейсом делать!! вот ест буквы abcd и есть слоги ya yu sh ph и вот пишеш по русский яблоко и выводит yabloko да ещенапример возможный вариант такие как jabloko jbloko !! транслит у всех тож разный!! подскажите кто что сможет!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.06.2011, 12:21
Помогаю со студенческими работами здесь

Создание консольного приложения "Конвертер русского текста в транслит"
Необходимо создать консольное приложение на языке С++. Реализация приложения должна включать работу с классами, объектами и файлами. ...

Транслит
У меня есть строка содержащая 2 прописные буквы, которые одинаково выглядят в кирилице и латинице. И справочник с таким же реквизитом ...

Транслит
Просматривал я статистику своего сайта то поисковым фразам, и заметил следующее: присудствует много транслитерированных слов. Так,...

Транслит
У меня есть слово на русском, а мне нужно это-же слово на англ-яз... типа(Ящик-yachik) как это сделать?

Транслит
Привет люди,срочно нужна поммощь. Нужно написать программу ,которая переводит русский текст на транслит.


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача №1: при указании работ (справочник РаботыПоРемонтуСпецтехники),. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru