4 / 4 / 1
Регистрация: 28.05.2013
Сообщений: 40
|
|||||||||||
1 | |||||||||||
Работает не так как надо18.06.2013, 15:18. Показов 1467. Ответов 10
Метки нет (Все метки)
я ввожу ааа - выводит qqq
а должен выводить qaz что нужно поменять? хотя бы на примере первого цикла
немного исправил.
0
|
18.06.2013, 15:18 | |
Ответы с готовыми решениями:
10
Код работает, но не так как надо Код работает не так, как надо Код работает не так, как надо Почему не работает так как надо |
4 / 4 / 1
Регистрация: 28.05.2013
Сообщений: 40
|
|
19.06.2013, 00:12 [ТС] | 3 |
у меня есть массив1 - это обычный алфавит.
и есть массив2-массив7. длинна вводимого слова - 6 букв. например мне нужно ввести привет, и что бы букву п заменило на 1 букву из 1 массива. р- на 2 букву из 2 массива. и - из 3. а если легче, без моих массивов, то вся задача состоит в том, что это шифр каждая последующая буква шифруется определенным сдвигом 1- на 2 назад 2- на 6 назад 3- без изменений 4- на 6 назад 5- на 7 назад 6- на 3 назад я хотел схитрить и записал готовые сдвиги в 6 массивов и хотел добиться простой замены. но, как видите, не совсем получилось Добавлено через 33 минуты как-то нужно использовать либо mid чтобы брал i-ый символ и заменял на символ из другого массива. либо делать 6 сдвигов. (сдвиги выше) тут массивы пробные. буквы на халяву. по идее должен быть алфавит, но так пока проще разобраться
0
|
4 / 4 / 0
Регистрация: 22.09.2009
Сообщений: 69
|
|||||||||||
19.06.2013, 00:46 | 4 | ||||||||||
Ну если ты сдвигаешь по алфавиту, то могу предложить такой вариант.
у тебя есть алфавит в одном массиве, просто находишь индекс нужной буквы в алфавите и сдвигаешь на описанные позиции. Я бы для этой задачи использовал QVector<String> т.к. в нем обустроены функции поиска и выдаче индекса. Ну вот к примеру функция которая будет производить сдвиг:
QString encode(QString toEncode, int shift) //где toEncode - символ для шифрования, shift - сдвиг; { int index = alphabet.Count(toEncode)+shift; if(index<0)index+=alphabet.Count()-1; if(index>alphabet.Count-1)index-=alphabet.Count-1; return alphabet.value(index+shift); } ну и функцию кодировки куска текста из 6ти букв, можно так изобразить:
1
|
4 / 4 / 1
Регистрация: 28.05.2013
Сообщений: 40
|
|
19.06.2013, 00:54 [ТС] | 5 |
Спасибо, сейчас попробую разобраться.
0
|
4 / 4 / 0
Регистрация: 22.09.2009
Сообщений: 69
|
||||||
19.06.2013, 00:55 | 6 | |||||
Кстати можешь на принципе второй функции шифрования построить дешифратор, просто заменив в сдвиге "-" на "+".
Там кстати я ошибся
1
|
4 / 4 / 1
Регистрация: 28.05.2013
Сообщений: 40
|
||||||
19.06.2013, 01:06 [ТС] | 7 | |||||
т.е. код выглядит так?
0
|
4 / 4 / 0
Регистрация: 22.09.2009
Сообщений: 69
|
||||||
19.06.2013, 01:10 | 8 | |||||
Не, тебе нужно каждый символ алфавита поотдельности добавить, ну или в цикле извлекать из строки:
1
|
4 / 4 / 1
Регистрация: 28.05.2013
Сообщений: 40
|
|
19.06.2013, 01:14 [ТС] | 9 |
А можно попросить вас целиком процедуру написать. я уже не понимаю куда этот кусок вставлять.
как у меня будет читать текст из моего txtA. и сравнивать его с массивом букв
0
|
4 / 4 / 0
Регистрация: 22.09.2009
Сообщений: 69
|
|
19.06.2013, 01:23 | 10 |
у тебя вообще что, окно с формой, просто виджет? переменные определяешь в полях класса виджета, заполняешь их в конструкторе, добавляешь эти две функции, по нажатию на кнопку просто используешь функцию encodeString. Полностью прогу могу написать но не сегодня, завтра вечером если вопрос не решишь
0
|
4 / 4 / 1
Регистрация: 28.05.2013
Сообщений: 40
|
|
19.06.2013, 02:52 [ТС] | 11 |
да, просто виджет.
Эх. Ну ладно. Вообще сдавать, завтра, но, возможно дадут еще один день. Большое спасибо за помощь! Добавлено через 58 минут Готово. Сделано. Добавлено через 25 минут Хотя хотелось бы увидеть ваш вариант.
0
|
19.06.2013, 02:52 | |
19.06.2013, 02:52 | |
Помогаю со студенческими работами здесь
11
Работает не так как надо(классы) Find работает не так как надо Почему работает не так как надо? GetJson работает не так, как надо Ctrl работает не так как надо Цикл не работает так как надо Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |