C++; ghbdtn->привет

Ответить
Barcas
Сообщения: 4
Зарегистрирован: 28 янв 2009, 21:06

Извинясь что влез в тему. Привет всем нужна прога в С++ а я в нём тока начинаю. Прога следующая: два поля: первое вводиться текст типа "ghbdtn" а во втором преобразование в "привет" и наоборот. Полазил в нете так там тока примеры шыфрования ASCII коды букв которые я так и не понял. В общем может кто помочь. Кстати С++ 6.0 Борланд. Помгите плиз. Написал сюда так как создавать темы пока не могу.
atavin-ta
Сообщения: 585
Зарегистрирован: 30 янв 2009, 06:38

&quot писал(а):Извинясь что влез в тему. Привет всем нужна прога в С++ а я в нём тока начинаю. Прога следующая: два поля: первое вводиться текст типа "ghbdtn" а во втором преобразование в "привет" и наоборот. Полазил в нете так там тока примеры шыфрования ASCII коды букв которые я так и не понял. В общем может кто помочь. Кстати С++ 6.0 Борланд. Помгите плиз. Написал сюда так как создавать темы пока не могу.
Здесь темы можно создавать даже тогда, когда больше нигде нельзя. Тебе именно "привет" во что попало и наоборот? Или вводишь любой текст, а в другом поле появляется нечто не читаблеьное, а при вводе в него - в первом поле текст? Во втором случае придётся читать о шифровании. Комп работает только с числами, поэтому каждая буква - тоже число (код). По таблице кодов ищи число и читай букву.
Вопрос: "Почему вы все сионисты? Нельзя ли писать на чём то другом?".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".
Barcas
Сообщения: 4
Зарегистрирован: 28 янв 2009, 21:06

а нельзя поподробнее ато я ж в Си никак. Если ни тяжело то напишите прогу.
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

Сообщения вынесены в отдельную тему.
atavin-ta, шифрование ни при чем. Barcas-у требуется программа, которая исправляет текст введенный в не той раскладке.
Например, qwerty->йцукенг.
atavin-ta
Сообщения: 585
Зарегистрирован: 30 янв 2009, 06:38

&quot писал(а):Сообщения вынесены в отдельную тему.
atavin-ta, шифрование ни при чем. Barcas-у требуется программа, которая исправляет текст введенный в не той раскладке.
Например, qwerty->йцукенг.
Тогда сделай таблицу соответсвия букв буквам и заменяй по таблице. За основу возьми саму клаву. Примерно так:

Код: Выделить всё

 switch (c) // c - заменяемый символ, функция возвращает символ, на который его надо заменить.
 {
  case 'q':return 'й'; break;
  case 'w':return 'ц'; break;
  ...
 }
Вопрос: "Почему вы все сионисты? Нельзя ли писать на чём то другом?".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

А я бы таблицы соответствия хранил бы в массивах(строках), а не в коде. Т.е. отделил бы данные от кода. На паскале это было бы так:

Код: Выделить всё

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?
Ответить