Страница 1 из 1
C++; ghbdtn->привет
Добавлено: 29 янв 2009, 20:49
Barcas
Извинясь что влез в тему. Привет всем нужна прога в С++ а я в нём тока начинаю. Прога следующая: два поля: первое вводиться текст типа "ghbdtn" а во втором преобразование в "привет" и наоборот. Полазил в нете так там тока примеры шыфрования ASCII коды букв которые я так и не понял. В общем может кто помочь. Кстати С++ 6.0 Борланд. Помгите плиз. Написал сюда так как создавать темы пока не могу.
Re: Просто флейм
Добавлено: 09 фев 2009, 13:35
atavin-ta
" писал(а):Извинясь что влез в тему. Привет всем нужна прога в С++ а я в нём тока начинаю. Прога следующая: два поля: первое вводиться текст типа "ghbdtn" а во втором преобразование в "привет" и наоборот. Полазил в нете так там тока примеры шыфрования ASCII коды букв которые я так и не понял. В общем может кто помочь. Кстати С++ 6.0 Борланд. Помгите плиз. Написал сюда так как создавать темы пока не могу.
Здесь темы можно создавать даже тогда, когда больше нигде нельзя. Тебе именно "привет" во что попало и наоборот? Или вводишь любой текст, а в другом поле появляется нечто не читаблеьное, а при вводе в него - в первом поле текст? Во втором случае придётся читать о шифровании. Комп работает только с числами, поэтому каждая буква - тоже число (код). По таблице кодов ищи число и читай букву.
Re: Просто флейм
Добавлено: 09 фев 2009, 16:30
Barcas
а нельзя поподробнее ато я ж в Си никак. Если ни тяжело то напишите прогу.
Re: C++; ghbdtn->привет
Добавлено: 09 фев 2009, 22:06
Naeel Maqsudov
Сообщения вынесены в отдельную тему.
atavin-ta, шифрование ни при чем. Barcas-у требуется программа, которая исправляет текст введенный в не той раскладке.
Например, qwerty->йцукенг.
Re: C++; ghbdtn->привет
Добавлено: 10 фев 2009, 05:27
atavin-ta
" писал(а):Сообщения вынесены в отдельную тему.
atavin-ta, шифрование ни при чем. Barcas-у требуется программа, которая исправляет текст введенный в не той раскладке.
Например, qwerty->йцукенг.
Тогда сделай таблицу соответсвия букв буквам и заменяй по таблице. За основу возьми саму клаву. Примерно так:
Код: Выделить всё
switch (c) // c - заменяемый символ, функция возвращает символ, на который его надо заменить.
{
case 'q':return 'й'; break;
case 'w':return 'ц'; break;
...
}
Re: C++; ghbdtn->привет
Добавлено: 10 фев 2009, 09:29
Naeel Maqsudov
А я бы таблицы соответствия хранил бы в массивах(строках), а не в коде. Т.е. отделил бы данные от кода. На паскале это было бы так:
Код: Выделить всё
const
wrong:string='qwertyuiop[]asdfghjkl;'#39'zxcvbnm,./'+'
'QWERTYUIOP{}ASDFGHJKL:"ZXCVBNM<>?';
right:string='йцукенгшщзхъфывапролджэячсмитьбю.'+
'ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ,';
var
s:string;
begin
readln(s);
for i:=1 to length(s) do if pos(s[i],wrong)>0 then s[i]:=right[pos(s[i],wrong)];
writeln(s);
end.
Т.е. одна строчка кода вместо длинногопредлинного switch.
А как это будет на C?