Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
voodoo_upgrade
0 / 0 / 0
Регистрация: 09.09.2010
Сообщений: 6
#1

транслит - C++

09.09.2010, 14:33. Просмотров 1506. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.09.2010, 14:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос транслит (C++):

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

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

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

Транслит - Delphi
Здравствуйте! Скажите компонент или как сделать транслит кириллицы в латынь. Пример: Привет! - Privet!

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

Транслит в ЧПУ - PHP
В проекте используется транслит. Но некоторые знаки в нем не убираются (например, пропущена замена Ё, № и др.) Само исправление проблем...

11
silent_1991
Эксперт С++
4984 / 3041 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
09.09.2010, 14:46 #2
Ну для этого надо пробежаться по строке и заменить каждый встреченный символ на необходимый. Либо простым прибавлением числа (если нужен фиксированный сдвиг), либо при помощи 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
147 / 94 / 7
Регистрация: 22.07.2010
Сообщений: 424
09.09.2010, 16:47 #3
Можно так:
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
voodoo_upgrade
0 / 0 / 0
Регистрация: 09.09.2010
Сообщений: 6
20.09.2010, 13:05  [ТС] #4
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
silent_1991
Эксперт С++
4984 / 3041 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
20.09.2010, 13:12 #5
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
voodoo_upgrade
0 / 0 / 0
Регистрация: 09.09.2010
Сообщений: 6
20.09.2010, 13:33  [ТС] #6
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
silent_1991
Эксперт С++
4984 / 3041 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
20.09.2010, 13:38 #7
voodoo_upgrade,
Очччень странно... У меня всё работает... В двух разных средах... Здесь вроде нечему не работать...
1
voodoo_upgrade
0 / 0 / 0
Регистрация: 09.09.2010
Сообщений: 6
20.09.2010, 14:05  [ТС] #8
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
silent_1991
Эксперт С++
4984 / 3041 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
20.09.2010, 14:11 #9
voodoo_upgrade,
Потому что 56 не является символом. Для замены одного символа строки на более чем один нужен совсем другой алгоритм, всё так просто не сделаешь.
1
voodoo_upgrade
0 / 0 / 0
Регистрация: 09.09.2010
Сообщений: 6
20.09.2010, 14:22  [ТС] #10
silent_1991, блин как все сложно а не подсабиш алгоритмом ?
0
silent_1991
Эксперт С++
4984 / 3041 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
20.09.2010, 14:35 #11
voodoo_upgrade,
Алгоритм:
Копируешь исходную строку в новую до тех пор, пока очередной символ не будет равен тому, который надо заменить. Затем в новую строку после уже скопированных символов записываешь те символы, на которые ты хочешь заменить исходный символ. Так повторяешь до тех пор, пока исходная строка не закончится.
0
nuSan
0 / 0 / 0
Регистрация: 24.12.2010
Сообщений: 127
03.06.2011, 12:21 #12
здраствуйте а вот такой вариант транслита, лежит у меня txt файл где на каждой строке лежит буква и слог то как организовать так чтоб слово переводилось и выбирала именно тот символ что надо?? слов то мого!! нужно какойто сравнивание ?? нехочеться кейсом делать!! вот ест буквы abcd и есть слоги ya yu sh ph и вот пишеш по русский яблоко и выводит yabloko да ещенапример возможный вариант такие как jabloko jbloko !! транслит у всех тож разный!! подскажите кто что сможет!!!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.06.2011, 12:21
Привет! Вот еще темы с ответами:

Транслит с исключением - PHP
Всем привет! имею вот такой транслитератор $translit = array( 'а' =&gt; 'a', 'б' =&gt; 'b', 'в' =&gt; 'v', 'г' =&gt; 'g', 'д' =&gt;...

Урл в транслит - PHP
Всем привет. Пытаюсь на сайте сделать ЧПУ В .htaccess все настроено и работает нормально, кроме: Есть такая ссылка...

транслит переводчик - JavaScript
1. создать текстовое поле &quot;Russian&quot;, создать текстовое поле &quot;English&quot;, создать кнопку &quot;Rus-&gt;Lat&quot;, создать кнопку &quot;Lat-&gt;Rus&quot;, ...

Транслит в кириллицу - C++ Qt
Нужно реализовать &quot;перевод&quot; транслита в кириллицу. Если быть точнее есть список имен на английском мне нужно его &quot;перевести&quot;. Нашел много...


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

Или воспользуйтесь поиском по форуму:
12
Yandex
Объявления
03.06.2011, 12:21
Ответ Создать тему
Опции темы

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